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

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

Re: [shell-script] Re: trabalhando com linhas de arquivo ( e o sed -i ?)


From: Bruno Gunter Fricke
Subject: Re: [shell-script] Re: trabalhando com linhas de arquivo ( e o sed -i ?)
Date: Tue, 27 Nov 2007 22:06:37 -0200

Mop! Boa! Nunca tinha notado este detalhe... Agora, não tenho um nix para 
testar... que tal alguém online neste momento fazer o mesmo com o awk? Assim 
poderemos ter uma comparação beeeem razoável ;-)

[]'s

  Subject: [shell-script] Re: trabalhando com linhas de arquivo ( e o sed -i ?)


  Parece-me que o SED é bem tolerado como assunto na lista. :)

  Não lembro de uma forma de fazer uma substituição de string no local
  físico com as ferramentas comumente citadas aqui.

  Pelo que entedi o sed com a opção -i faria isso.
  "ls -i" mostra o inode do arquivo.
  Obs.: os resultados abaixo são em uma simples partição ext2, blocos de 4k.
  Qual a explicação????

  Do manual do sed:
  ------------
  -i[suffix], --in-place[=suffix]

  edit files in place (makes backup if extension supplied)

  VERSAO:
  -----------
  root@k7/tmp# sed --version|grep ver
  GNU sed version 4.1.5
  root@k7/tmp#

  O SED:
  -----------
  web@k7/tmp$ cat a;ls -i a;sed -i 's/r/R/' a;cat a;ls -i a
  pqrst
  578005 a
  pqRst
  577986 a
  web@k7/tmp$
  ######## passou o arquivo para outro local, testado várias vezes

  O SHELL
  ----------
  web@k7/tmp$ cat a;ls -i a;echo pqZst >a;cat a;ls -i a
  pqRst
  577986 a
  pqZst
  577986 a
  web@k7/tmp$

  O SHELL "appendando"
  ----------
  web@k7/tmp$ cat a;ls -i a;echo :pqZst >>a;cat a;ls -i a
  pqZst
  577986 a
  pqZst
  :pqZst
  577986 a
  web@k7/tmp$

  E viva o shell !!!
  Qual o programa indicado para fazer substituições no local físico?

  ------------------------------
  On 11/27/07, Flavio Junior
  > simples:
  >
  > [root@ideafix ~]# cat nada
  > teste1
  > teste2
  > teste3
  > teste4
  > teste5
  > teste6
  > teste7
  > teste8
  > [root@ideafix ~]# sed -i.bkp '/teste5/iNOOOOOOOOOOOOOOOOVA
  > LINHAAAAAAAAAAAAAAAAAAA' nada
  > [root@ideafix ~]# cat nada
  > teste1
  > teste2
  > teste3
  > teste4
  > NOOOOOOOOOOOOOOOOVA LINHAAAAAAAAAAAAAAAAAAA
  > teste5
  > teste6
  > teste7
  > teste8
  > [root@ideafix ~]# sed -i.bkp '/teste5/aNOOOOOOOOOOOOOOOOVA
  > LINHAAAAAAAAAAAAAAAAAAA' nada
  > [root@ideafix ~]# cat nada
  > teste1
  > teste2
  > teste3
  > teste4
  > NOOOOOOOOOOOOOOOOVA LINHAAAAAAAAAAAAAAAAAAA
  > teste5
  > NOOOOOOOOOOOOOOOOVA LINHAAAAAAAAAAAAAAAAAAA
  > teste6
  > teste7
  > teste8
  > [root@ideafix ~]#


   

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



reply via email to

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