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

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

RE: [shell-script] Problemas com o CAT, credo!!!


From: Rodolfo Villanova
Subject: RE: [shell-script] Problemas com o CAT, credo!!!
Date: Tue, 29 Oct 2002 12:34:14 -0200

Olá, Alexandre,

Sugiro substituir todas as linhas do teu script por uma única, utilizando o 
"awk":

awk '{ print ++i ":" $0 }' arq_origem > arq_destino

Testei em ambientes Tru64 e Sun Solaris e funcionou.
Testa no Linux e verifica se funciona como o desejado.

Saudações "shellscriptianas",
-----------------------------------------------------
Rodolfo Daniel Gross Villanova
Telefonica Mobile Solutions do Brasil
Porto Alegre - RS
Cel.: 55.51.99930582
mailto:address@hidden

"If you have an apple and I have an apple and we exchange apples then
you and I will still each have one apple. But if you have an idea and
I have one idea and we exchange these ideas, then each of us will have
two ideas."

George Bernard Shaw
----------------------------------------------------------------------

> -----Original Message-----
> From: address@hidden [mailto:address@hidden]
> Sent: Tuesday, October 29, 2002 10:46 AM
> To: address@hidden
> Subject: [shell-script] Problemas com o CAT, credo!!!
>
>
> 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



reply via email to

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