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: ----------- [EMAIL PROTECTED]/tmp# sed --version|grep ver GNU sed version 4.1.5 [EMAIL PROTECTED]/tmp# O SED: ----------- [EMAIL PROTECTED]/tmp$ cat a;ls -i a;sed -i 's/r/R/' a;cat a;ls -i a pqrst 578005 a pqRst 577986 a [EMAIL PROTECTED]/tmp$ ######## passou o arquivo para outro local, testado várias vezes O SHELL ---------- [EMAIL PROTECTED]/tmp$ cat a;ls -i a;echo pqZst >a;cat a;ls -i a pqRst 577986 a pqZst 577986 a [EMAIL PROTECTED]/tmp$ O SHELL "appendando" ---------- [EMAIL PROTECTED]/tmp$ cat a;ls -i a;echo :pqZst >>a;cat a;ls -i a pqZst 577986 a pqZst :pqZst 577986 a [EMAIL PROTECTED]/tmp$ E viva o shell !!! Qual o programa indicado para fazer substituições no local físico? ------------------------------ On 11/27/07, Flavio Junior > simples: > > [EMAIL PROTECTED] ~]# cat nada > teste1 > teste2 > teste3 > teste4 > teste5 > teste6 > teste7 > teste8 > [EMAIL PROTECTED] ~]# sed -i.bkp '/teste5/iNOOOOOOOOOOOOOOOOVA > LINHAAAAAAAAAAAAAAAAAAA' nada > [EMAIL PROTECTED] ~]# cat nada > teste1 > teste2 > teste3 > teste4 > NOOOOOOOOOOOOOOOOVA LINHAAAAAAAAAAAAAAAAAAA > teste5 > teste6 > teste7 > teste8 > [EMAIL PROTECTED] ~]# sed -i.bkp '/teste5/aNOOOOOOOOOOOOOOOOVA > LINHAAAAAAAAAAAAAAAAAAA' nada > [EMAIL PROTECTED] ~]# cat nada > teste1 > teste2 > teste3 > teste4 > NOOOOOOOOOOOOOOOOVA LINHAAAAAAAAAAAAAAAAAAA > teste5 > NOOOOOOOOOOOOOOOOVA LINHAAAAAAAAAAAAAAAAAAA > teste6 > teste7 > teste8 > [EMAIL PROTECTED] ~]# [As partes desta mensagem que não continham texto foram removidas]
