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