shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Pedido de ajuda para gravar linhas em arquivo com Kor


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Pedido de ajuda para gravar linhas em arquivo com Korn Shell
Date: Tue, 13 Feb 2007 11:53:42 -0200

cerajolis, fiz algumas alterações no seu script e comentarios, de uma
olhada:

http://pastebin.ca/353615

Com o tempo vc vai pegando o jeito de fazer coisas mais complexas e com mais
performance, por enquanto é para dominar os laços while. veja como vc
poderia fazer sem nenhum:

#!/bin/sh
CHAR='X'
[ "$1" ]|| {  cat <<-EOF
    Missing Parameter
    usage: $(basename $0) lines [col]
    EOF
    exit 1
}
[ "$2" ] && COL=$2 || COL=80
OUT_FILE=/path/to/bigfile # !!!!!
seq -s ${CHAR} ${COL}  | tr -d '[0-9]'> ${OUT_FILE}
seq -s ';' -f 'p%g' $1 | tr -d '[0-9]'| xargs -i sed -n {} -i ${OUT_FILE}

Claro, tem muita mutreta ai, mas é divertido.
On 2/12/07, cerajolis <address@hidden> wrote:
>
>   Olá componentes do grupo, estou estudando pelo livro do Randal K.
> Michael - Dominando Unix Shell Scripting e estou precisando de um
> auxílio para resolver um problema em um exercício que grava
> caracteres para formar linhas em arquivo.
> Eu consigo criar o arquivo, porém não as linhas, por isso estou
> recorrendo ao grupo, talvez alguém já tenha executado este exercício e
> tenha a solução.
>
> No exercício eu digitei todas as variáveis em minúsculas para não
> confundir com as variáveis de ambiente.
> E estou utilizando o Korn Shell
> Para executar uso o comando ./bigfile.ksh <número_de_linhas_desejado>
>
> Antecipadamente agradeço.
>
> #!/bin/ksh
> #
> #set -n # verifica sintaxe
> #set -x # depura Shell script
>
>
> # Define Função
>
> Function usage {
>
> echo "\n........USAGE ERROR........\n"
>
> echo "\Nusage: $SCRIPT_NAME number_of_80_char_lines\n"
>
>
> # Verifica o número correto de parâmetros
>
> if (( $# !1 )) # Procurando um parametro
> then
> usage # Houve erro de uso
> exit # Sai com um erro de uso
> fi
>
>
> # Define arquivos e variáveis aqui
>
> LINE_LENGTH=80 # Número de caracteres por
> linha
> OUT_FILE=/scripts/bigfile # Novo arquivo a ser criado
> >$OUT_FILE # Inicializa um
> arquivo de tamanho zero
> SCRIPT_NAME=$(basename $0) # Extrai o nome do script
> TOTAL_LINES=$1 # Número total de linhas a
> criar
> LINE_COUNT=0 # Contador de caracteres
> CHAR=X # Caractere a
> escrever no arquivo
>
> # Início de Main
>
> while (( LINE_COUNT < TOTAL_LINES )) # Especificado por $1
> do
> CHAR_COUNT=0 #Inicializa o
> contador em zero a cada nova linha
>
> While (( CHAR_COUNT < LINE_LENGTH )) # Cada linha tem
> tamanho fixo
> Do
> Echo "${CHAR}\c" > $OUT_FILE # Ecou um único caractere
>
> (( CHAR_COUNT = CHAR_COUNT +1 )) # Incrementa contador
> de caractere
> done
>
> (( LINE_COUNT = LINE_COUNT+1 )) # Incrementa contador de
> linhas
>
> echo > $OUT_FILE #Dá um novo caractere de new line
> done
>
>  
>



-- 
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]