[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: trabalhando com linhas de arquivo ( e o sed -i ?)
From: |
mop |
Subject: |
Re: trabalhando com linhas de arquivo ( e o sed -i ?) |
Date: |
Tue, 27 Nov 2007 15:59:21 -0200 |
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 ~]#
- Re: trabalhando com linhas de arquivo ( e o sed -i ?),
mop <=