[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Adicionando ao final da linha
From: |
SuSE List |
Subject: |
Re: [shell-script] Adicionando ao final da linha |
Date: |
Tue, 07 Dec 2004 18:00:41 -0200 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.2) Gecko/20040803 |
Que tal algo assim:
msptst2:/home/vinicius/pflog # more teste1.db
abcdef^12345^123^12^1
ghjiklmn^8765432^21390^120^12
abcdef^12345^123^12^1
ghjiklmn^8765432^21390^120^12
msptst2:/home/vinicius/pflog # more teste2.db
abcdef^12345^123^12^1
ghjiklmn^8765432^21390^120^12
msptst2:/home/vinicius/pflog #
msptst2:/home/vinicius/pflog # mkdir new ; for i in *.db ; do cat $i |
sed -e "s/.$/^2004-11-07/g" > new/$i; done ; cat -vet new/*.db
abcdef^12345^123^12^^2004-11-07$
ghjiklmn^8765432^21390^120^1^2004-11-07$
abcdef^12345^123^12^^2004-11-07$
ghjiklmn^8765432^21390^120^1^2004-11-07$
abcdef^12345^123^12^^2004-11-07$
ghjiklmn^8765432^21390^120^1^2004-11-07$
msptst2:/home/vinicius/pflog #
Tudo em uma única linha!!!
(Estou adorando brincar com shell......eheheh)
[]s
Vinicius
MrBiTs wrote:
>Prezados
>
>Tendo a seguinte estrutura de dados:
>
>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, de forma que
>tenhamos:
>
>campo1^campo2^campo3^campo4^campo5^campo6
>abcdef^12345^123^12^1^2004-11-02
>ghjiklmn^8765432^21390^120^12^2004-11-02
>
>
>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 ?
>
>[]'s
>
>
>
>---------------------------------------------------------------------
>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.listas-discussao.cjb.net
>---------------------------------------------------------------------
>
>Links do Yahoo! Grupos
>
>
>
>
>
>
>
>
>
>
>
>
[As partes desta mensagem que não continham texto foram removidas]