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) funciona... talvez não seja a mais simples
pra situação tao simples, mas funciona..

Flavio do Carmo Junior aka blk1d

On 7/6/06, Rafael Sanches <[EMAIL PROTECTED]> wrote:
> 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.
>
> 14505230938800941627220060730004910000000024810000000150008512C
> 14505248938814460158920060730004920000000031280000000150008512C
> 14505234611810038825120060730004930000000032430000000150008512C
> 14505724472800072098020060730004940000000035680000000150008512C
> 14505731002800962258120060730004950000000025650000000600008512C
> 14505729837814945544020060730004960000000037640000000150008512C
> 14505732259800630209820060730004970000000031970000000150008512C
>
> abaixo a exucao que fiz, sinceramente nao sou nenhum expert, e nao intendi 
> tao bem tdos proxedimentos
>
> aladin:/var/www# sed 's/\([0-9]\{1,4\}\)0\(.*C.*\)/\13\2/' 219060.txt
>
> aceitaria qualquer tipo de ajuda
>
>   ----- Original Message -----
>   From: Reinaldo Marques de Lima
>   To: shell-script@yahoogrupos.com.br
>   Sent: Tuesday, June 06, 2006 11:24 AM
>   Subject: [shell-script] Re: formatacao de um arquivo
>
>
>   Caramba, ta dificil aki hj...heheheh
>
>   corrigindo:
>
>   sed 's/\([0-9]\{1,4\}\)0\(.*C.*\)/\13\2/'
>
>   Desculpem a lista pelos emails errados
>
>   []'s
>
>
>   --- Em shell-script@yahoogrupos.com.br, "Éder Paulo Vendrasco"
>   <[EMAIL PROTECTED]> escreveu
>   >
>   > 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 Marques de Lima <[EMAIL PROTECTED]> wrote:
>   > >
>   > >
>   > > Amigo Rafael...veja se isso te serve:
>   > >
>   > > sed 's/\([0-9]\{1,4\}\)0\(.*\)/\13\2/'
>   > >
>   > >
>   > >
>   > > --- Em shell-script@yahoogrupos.com.br, "Rafael Sanches" <[EMAIL 
> PROTECTED]>
>   > > escreveu
>   > > >
>   > > > Pessoal eis a minha primeira duvida,
>   > > >
>   > > > Todo mes eu recebo um arquivo da uma operadora regional que vem da
>   > > seguinte maneira
>   > > >
>   > > > 02192199032200402031  (inicio do arquivo)
>   > >
>   > > > 14505244536800068946220040229000010000000021040000000150008512C
>   > > (telefone1)
>   > > > 14505776443800066463020040229000020000000027460000000150008512C
>   > > (telefone2)
>   > > > 14505234043800620557220040229000030000000000520000000150008512C
>   > > (telefone3)
>   > > > 14505241465800068627720040229000040000000026970000000150008512C
>   > > (telefone4)
>   > > > 9000379000000000976700  (final do arquivo)
>   > > >
>   > > > na verdade oq eu preciso é de substituir 4ª posicao de caracter que
>   > > sempre é 0 pelo numero 3 , lembro aos colegas que ele tem que manter
>   > > os cabeçados ou seja o inicio e final .
>   > > >
>   > > > No caso ficaria assim.....
>   > > >
>   > > > 14535244536800068946220040229000010000000021040000000150008512C
>   > > (telefone1)
>   > > > 14535776443800066463020040229000020000000027460000000150008512C
>   > > (telefone2)
>   > > >
>   > > > Conto com a colaboração de todos os colegas.
>   > > >
>   > > >
>   > > > Compubras Telecom
>   > > > Suporte Técnico
>   > > > Rafael Sanches
>   > > > +55 (45) 35725000
>   > > > Linux User #314543
>   > > >
>   > > > [As partes desta mensagem que não continham texto foram removidas]
>   > > >
>   > >
>   > >
>   > >
>   > >
>   > >
>   > >
>   > >
>   >
>   >
>   > [As partes desta mensagem que não continham texto foram removidas]
>   >
>
>
>
>
>
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ---------------------------------------------------------------------
> 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: [EMAIL PROTECTED]
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
>
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>


---------------------------------------------------------------------
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: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a