[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Pedido de ajuda para gravar linhas em arquivo com Korn Shell
From: |
oteb_04 |
Subject: |
Re: Pedido de ajuda para gravar linhas em arquivo com Korn Shell |
Date: |
Mon, 12 Feb 2007 13:03:04 -0000 |
User-agent: |
eGroups-EW/0.82 |
--- Em address@hidden, "cerajolis" <cerajolis@...>
escreveu
>
> 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.
>
Olá
Não conheço o ksh, mas veja as mudanças que fiz
usando o bash
#!/bin/bash
#
#set -n # verifica sintaxe
#set -x # depura Shell script
# Define Função
function usage {
echo -e "\n........USAGE ERROR....... .\n" # uso do '-e'
echo -e "\nusage: $SCRIPT_NAME number_of_80_ char_lines \n"
} # faltava fechar aqui
# Verifica o número correto de parâmetros
if [ ! $1 ] # troquei a condição
then
usage
exit 1 # adicionei o 1
fi
# Define arquivos e variáveis aqui
INE_LENGTH=80
OUT_FILE=/tmp/bigfile
> $OUT_FILE
SCRIPT_NAME=$(basename $0)
TOTAL_LINES=$1
#LINE_COUNT=0 # comentei essa linha, veja o for
CHAR=X # Caractere a escrever no arquivo
# inicio
for ((LINE_COUNT=0;$LINE_COUNT < $TOTAL_LINES;LINE_COUNT++ ))
do
for ((CHAR_COUNT=0;$CHAR_COUNT < $LINE_LENGTH;CHAR_COUNT++))
do
echo -e "${CHAR}\c " >> $OUT_FILE # '-e' e '>>'
done
echo " " >> $OUT_FILE # '>>'
done
Espero que ajude.
[]
hpfn