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

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

Re: [shell-script] Adicionando ao final da linha


From: Aurelio Marinho Jargas
Subject: Re: [shell-script] Adicionando ao final da linha
Date: Mon, 6 Dec 2004 13:01:44 -0300 (ART)

alou mr.

 --- MrBiTs <address@hidden> escreveu: 
> campo1^campo2^campo3^campo4^campo5
> abcdef^12345^123^12^1
> ghjiklmn^8765432^21390^120^12
>  
> e assim por diante, meu problema é adicionar um sexto campo,
> campo1^campo2^campo3^campo4^campo5^campo6
> abcdef^12345^123^12^1^2004-11-02
> ghjiklmn^8765432^21390^120^12^2004-11-02

como já disse o julio aqui na lista, a pergunta não é
se *há* uma maneira de fazer com o sed, mas *qual* delas
você vai querer :)

a mais curta:

  sed '1s/$/^campo6/ ; 1!s/$/^2004-11-02/' arquivo

o cifrão representa o fim da linha, e o 1! é um
endereço negado, ou seja, qualquer linha com exceção
da primeira.

falou!

>  
> Para tal, desenvolvi o seguinte:
>  
> #!/bin/bash
> cd /diretorio/dos/arquivos/
> mkdir new
> for files in *.db ; do
> count=1
> while read line ; do
> if [ $count == 1 ] ; then
> echo "$line^campo6"
> count=$count+1
> else
> echo "$line^2004-11-02"
> fi
> done < $file > new/$file
> done
> 
> 
> Isso funcionou, todos os arquivos tiveram a data do processamento (
> 2004-11-02 ) e o cabeçalho campo6 adicionados corretamente.
> Entretanto,
> fiquei pensando se há outra maneira de fazer isso, talvez atraves de
> um sed
> ou awk. Dicas ?


=====
-- 
Aurelio Marinho Jargas, Curitiba, Conectiva
Funcoes ZZ v4.1111 http://aurelio.net/zz
txt2tags v2.1 http://txt2tags.sf.net/pt

__________________________________________________
Converse com seus amigos em tempo real com o Yahoo! Messenger 
http://br.download.yahoo.com/messenger/ 


reply via email to

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