isso ae :D eu nao tenho mto costume de usar o -i (falta de prática) mas
simplifica bastante preciso me acustumar :D valeu pela dica
On 7/6/06, Herbert Alexander Faleiros <[EMAIL PROTECTED]> wrote:
>
> On Thursday 06 July 2006 17:04, Fernando Zank wrote:
> [cut]
>
> > cat teste.txt | sed 's/./3/4'
On Thursday 06 July 2006 17:04, Fernando Zank wrote:
[cut]
> cat teste.txt | sed 's/./3/4' | cat >teste2.txt;mv teste2.txt teste.txt
[cut]
Boa, mais simples ainda (que os meus dois exemplos em sh e sed).
Simplificando mais um pouquinho o exemplo acima:
$ sed -i 's/./3/4' lista
Explicação:
$man
se tu quer trocar so o 4° por 3 tenta fazer isso:
onde o teste.txt é o arquivo com os teus dados.
cat teste.txt | sed 's/./3/4' | cat >teste2.txt;mv teste2.txt teste.txt
On 7/6/06, Rafael Sanches <[EMAIL PROTECTED]> wrote:
>
> Galera eu tinha feito algumas alteracoes mais mesmo assim nao funci
On Thursday 06 July 2006 16:33, Rafael Sanches wrote:
[cut]
> mudar o 4º digito para 3 ou seja muda de 0 para 3.
[cut]
$ cat lista
14505230938800941627220060730004912481000150008512C
14505248938814460158920060730004923128000150008512C
14505234611810038825120060730004930
A forma como voce executou o sed ele nao altera o arquivo, somente a
exibição dele, use o sed com a opção "-i" menos i ...
Assim:
$ sed -i 's/\([0-9]\{1,4\}\)0\(.*C.*\)/\13\2/' 219060.txt
Isso vai alterar o conteudo do arquivo (um backup talvez seja interessante?) ...
A ER (Expressão Regular) func
o comando
sed 's/\([0-9]\{1,4\}\)0\(.*C.*\)/\13\2/' 219060.txt
equivale à
sed 's/padrão_a_encontrar/valor_a_substituir' arquivo
ou seja, toda a ocorrencia do padrão_a_encontrar é substituido pelo outro valor
A expressão : \([0-9]\{1,4\}\)0\(.*C.*\)
significa o seguinte:
\(padrão1\)0\(padrão2\)
Galera eu tinha feito algumas alteracoes mais mesmo assim nao funcionou, abaixo
parte do codigo de um arquivo que preciso fazer uma coisa mt facil
seria mudar o 4º digito para 3 ou seja muda de 0 para 3.
14505230938800941627220060730004912481000150008512C
145052489388
t;
>
>
>
> >From: "Ricardo Acosta" <[EMAIL PROTECTED]>
> >Reply-To: shell-script@yahoogrupos.com.br
> >To: shell-script@yahoogrupos.com.br
> >Subject: Re: [shell-script] Re: formatacao de um arquivo
> >Date: Tue, 6 Jun 2006 11:34
: "Ricardo Acosta" <[EMAIL PROTECTED]>
>Reply-To: shell-script@yahoogrupos.com.br
>To: shell-script@yahoogrupos.com.br
>Subject: Re: [shell-script] Re: formatacao de um arquivo
>Date: Tue, 6 Jun 2006 11:34:12 -0300
&
Reinaldo,
eu testei aqui e o comando abaixo alterou noutra posição.
veja:
1450524453683006894622004022912104000150008512C
^
era pra ser aqui:
1450524453683006894622004022912104000150008512C
^
[]s
acosta
Em 06/06/06, Reinaldo Marqu
Para não correr risco de modificar a 1a e a última linha, poderia fazer;
sed '2,'$nl's/\([1-9]\{1,4\}\)0\(.*\)/\13\2/' arquivo.txt
sendo $nl o número de linhas -1 do arquivo.txt, que poderia ser obtido
assim;
nl=`echo $(wc -l teste.txt | awk '{print $1}')-1 | bc`
Até,
Éder.
On 6/6/06, Reinaldo
11 matches
Mail list logo