[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Problemas com o CAT, credo!!!
From: |
Frederico Bohne Espinosa |
Subject: |
Re: [shell-script] Problemas com o CAT, credo!!! |
Date: |
29 Oct 2002 12:58:00 -0300 |
Alexander:
Espero que ajude....
------------------------------------------------
#!/bin/bash
ARQUIVO=<path do arquivo>
i=1
NRL=`wc -l $ARQUIVO | awk '{print $1}'`
while [ $i -le $NRL ]
do
echo $i "`cat $ARQUIVO | head -$i | tail -1`"
i=`expr $i + 1`
done
-------------------------------------------------------
Bohne
On Tue, 2002-10-29 at 10:45, address@hidden wrote:
> Olá!!
>
> Hummm... estou tendo problemas com o comando cat!!
>
> Quero fazer um script para ler as linhas de um arquivo e numerá-las.
>
> Algo como:
>
> #!/bin/bash
>
> let i=0
>
> for linhas in `cat arquivo_com_linhas`
> do
>
> let i=i+1
>
> echo $i$linhas
>
> done
>
>
> O script funciona normalmente. Mas só funciona quando as linhas do arquivo
> não possuem espaços, ou seja, num arquivo como o abaixo o script funciona:
>
> linha1
> linha2
> linha3
>
> Mas num arquivo como o abaixo o script não funciona:
>
> linha um
> linha dois
> linha três
>
> O problema é que o script numera, mas separa as palavras como se fossem
> linhas.
>
> No segundo arquivo o resultado é o seguinte:
>
> 1linha
> 2um
> 3linha
> 4dois
> 5linha
> 6três
>
> Ou seja, ele quebra as linhas nos espaços e isso inutiliza meu script.
>
> Já tentei usar:
>
> for linhas in "`cat arquivo_com_linhas`"
>
> Mas neste caso o resultado de $linhas é todo o arquivo. Na hora de numerar
> ele pega todo o conteúdo e coloca um único numero 1 na frente do conteúdo.
>
> Já tentei usar o less e o more, mas o resultado é sempre o mesmo.
>
> O que eu posso fazer?
>
> Agradeço qualquer ajuda!
> Abraços!
> Alexander
> address@hidden
--
Frederico Bohne Espinosa <address@hidden>