shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Modificando a linha sem modificar sua ardem no arquiv


From: Bruno Gunter Fricke
Subject: Re: [shell-script] Modificando a linha sem modificar sua ardem no arquivo
Date: Mon, 21 May 2007 16:40:50 -0300

$ sed parametros... arquivo >> novoarquivo


Em Seg, 2007-05-21 às 16:22 -0300, Sebastiao Gonella escreveu:
> Pesso$all,
> 
> o sed consegue escrever direto no arquivo tb?? tipo, se uso o comando
> sed
> '1s/^\(.\{8\}\)lindo/\1feio/' arquivo.txt ele me retorna o conteúdo do
> arquivo com a linha e coluna modificado, mas o arquivo que apontei
> continua
> a mesma coisa.. pergunto isso pq nao gostaria de ficar jogando em
> outro
> arquivo.... se direcionar a saida do sed ao mesmo arquivo, tipo sed
> '1s/^\(.\{8\}\)lindo/\1feio/' arquivo.txt > arquivo.txt, tb nao
> funciona.
> Alguma ideia?
> 
> Obrigado.
> 
> Em 18/05/07, Sebastiao Gonella <address@hidden> escreveu:
> >
> > Agora entendi Flavio, joia mesmo. Acho q isso vai resolver meu
> > problema....
> > Obrigado pela ajuda Julio, Flavio e lista.
> >
> > Abraços
> > Gonella
> >
> > Em 18/05/07, Flavio Junior <address@hidden> escreveu:
> > >
> > > vamos complicar/explicar as coisas...
> > > [root@gandalf root]# for ((i=0;i<10;i++)); do echo "$i -
> > > abcdefghijklmnopqrstuvxz"; done
> > > 0 - abcdefghijklmnopqrstuvxz
> > > 1 - abcdefghijklmnopqrstuvxz
> > > 2 - abcdefghijklmnopqrstuvxz
> > > 3 - abcdefghijklmnopqrstuvxz
> > > 4 - abcdefghijklmnopqrstuvxz
> > > 5 - abcdefghijklmnopqrstuvxz
> > > 6 - abcdefghijklmnopqrstuvxz
> > > 7 - abcdefghijklmnopqrstuvxz
> > > 8 - abcdefghijklmnopqrstuvxz
> > > 9 - abcdefghijklmnopqrstuvxz
> > > [root@gandalf root]# for ((i=0;i<10;i++)); do echo "$i -
> > > abcdefghijklmnopqrstuvxz"; done > txt
> > > [root@gandalf root]# sed -n '5p' txt
> > > 4 - abcdefghijklmnopqrstuvxz
> > > [root@gandalf root]# sed -n '5p' txt | cut -c10-15
> > > fghijk
> > > [root@gandalf root]# if [ $(sed -n '5p' txt | cut -c10-15) ==
> fghijk ];
> > > then
> > > echo "eh o que eu quero, faco o que?"; else echo "nao eh o que eu
> quero,
> > > nao
> > > faco nada entao, nem precisava desse else.. duh"; fi
> > > eh o que eu quero, faco o que?
> > > [root@gandalf root]# if [ $(sed -n '5p' txt | cut -c10-15) ==
> fghYYYYjk
> > > ];
> > > then echo "eh o que eu quero, faco o que?"; else echo "nao eh o
> que eu
> > > quero, nao faco nada entao, nem precisava desse else.. duh"; fi
> > > nao eh o que eu quero, nao faco nada entao, nem precisava desse
> else..
> > > duh
> > > [root@gandalf root]#
> > >
> > > Flavio do Carmo Junior
> > >
> > > On 5/18/07, Sebastiao Gonella <address@hidden<segonella%
> 40gmail.com>>
> > > wrote:
> > > >
> > > > Explicando melhor Julio...
> > > >
> > > > Na verdade eu tenho que pegar um campo nesta linha, campo esse
> número,
> > > > tratar e gravar novamente na linha. Como a linha conta com
> varios
> > > valores,
> > > > numeros, etc, eh possivel que quando use o comando "sed
> > > > 's/\(.\{9\}\)CadeiaASerTrocada/\1NovaCadeia/' arquivo" ele ache
> outros
> > > > "CadeiaASerTrocada" e modifique mais de um campo na linha ou
> ateh
> > > mesmo
> > > > mais
> > > > de uma linha no arquivo. Eu tenho que garantir que estou
> modificando
> > > um
> > > > pedaço pre-definido na coluna (tipo 12-20) e tambem da linha,
> isso
> > > para
> > > > garantir a integridade do arquivo.
> > > >
> > > > Obrigado.
> > > >
> > > > Em 18/05/07, Julio C. Neves <address@hidden<julio.neves%
> 40gmail.com>
> > > <julio.neves% 40gmail.com>>
> > > > escreveu:
> > > > >
> > > > > Achei a sua descrição um tanto enrolada, porém deve ser o
> seguinte:
> > > > >
> > > > > sed 's/\(.\{9\}\)CadeiaASerTrocada/\1NovaCadeia/' arquivo
> > > > >
> > > > > Abraços,
> > > > > Julio
> > > > > :wq
> > > > >
> > > > > Em 18/05/07, segonella <address@hidden <segonella%
> 40gmail.com><segonella%40gmail.com><segonella%40gmail.com
> > > >>
> > > > > escreveu:
> > > > > >
> > > > > > Pessoal,
> > > > > > Como faço para modificar uma determinada linha, com base no
> numero
> > > da
> > > > > > coluna (tipo C 10-22), quando encontrar uma determinada
> string??
> > > > > > quando encontrado, preciso modificar a string encontrada na
> linha
> > > sem
> > > > > > modificar o número da linha.
> > > > > > Obrigado.
> > > > > > Gonella
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > > --
> > > > > Abraços,
> > > > > Julio
> > > > > http://www.julioneves.com - Um livro sobre Bash completo e
> on-line
> > > > > :wq
> > > > >
> > > > > [As partes desta mensagem que não continham texto foram
> removidas]
> > > > >
> > > > >
> > > > >
> > > >
> > > > --
> > > > --------------------------------------
> > > > Sebastião M. P. Gonella
> > > > Celular: 61-84021512
> > > > address@hidden <segonella%40gmail.com> <segonella%
> 40gmail.com>
> > > > --------------------------------------
> > >
> > > >
> > > > [As partes desta mensagem que não continham texto foram
> removidas]
> > > >
> > > >
> > > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > > 
> > >
> >
> >
> >
> > --
> > --------------------------------------
> > Sebastião M. P. Gonella
> > Celular: 61-84021512
> > address@hidden
> > --------------------------------------
> 
> -- 
> --------------------------------------
> Sebastião M. P. Gonella
> Celular: 61-84021512
> address@hidden
> --------------------------------------
> 
> [As partes desta mensagem que não continham texto foram removidas]
> 
> 
> 
> 
> 
>  


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]