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

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

Pedido de ajuda para gravar linhas em arquivo com Korn Shell


From: cerajolis
Subject: Pedido de ajuda para gravar linhas em arquivo com Korn Shell
Date: Mon, 12 Feb 2007 10:29:44 -0000
User-agent: eGroups-EW/0.82

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 



reply via email to

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