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

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

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


From: Julio Cezar Neves - DATAPREVRJ
Subject: RES: [shell-script] Problemas com o CAT, credo!!!
Date: Wed, 30 Oct 2002 09:44:02 -0300

Se vc alterar o IFS como o Adriano propos, funciona, mas uma outra forma de
resolver seria:

#!/bin/bash
 
i=0
 
cat arquivo_com_linhas |
while read linhas
do
 
   let i=i+1

   echo $i$linhas
 
done

[ ]s,
Julio Cezar Neves
-Eu Apoio o Software Livre-
-I Support Free Software-
* +55 21 2528-7070  /  9853-4044
*address@hidden


> -----Mensagem original-----
> De: Adriano da Silva Múfalo [mailto:address@hidden]
> Enviada em: terça-feira, 29 de outubro de 2002 14:09
> Para: address@hidden
> Assunto: Re: [shell-script] Problemas com o CAT, credo!!!
> 
> 
> vc tem q mudar o IFS
> oldIFS=$IFS
> # IFS será um new-line
> IFS='
> '
> 
> #teu código
> 
> IFS=$oldIFS
> 
> 
> ----- Original Message -----
> From: <address@hidden>
> To: <address@hidden>
> Sent: Tuesday, October 29, 2002 10:45 AM
> 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
> 
> 
> 
> 
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de 
> programação, como
> perl, C etc. Quem insistir em não seguir esta regra será 
> moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listasdiscussao.cjb.net
> ---------------------------------------------------------------------
> 
> 
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
> http://br.yahoo.com/info/utos.html
> 
> 
> ______________________________________________________________
> _________
> Yahoo! Encontros
> O lugar certo para encontrar a sua alma gêmea.
> http://br.encontros.yahoo.com/
> 
> 
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de 
> programação, como perl, C etc. Quem insistir em não seguir 
> esta regra será moderado sem prévio aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------
 

Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html 



reply via email to

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