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: [email protected]
> 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 [email protected], "É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 [email protected], "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