[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Alterar conteúdo do arquivo direcionando para o mesmo arquivo
From: |
Arkanon |
Subject: |
Alterar conteúdo do arquivo direcionando para o mesmo arquivo |
Date: |
Fri, 7 May 2010 17:48:32 -0300 |
Oi de novo.
Não sei se ja rolou alguma conversa sobre exatamente isso aqui. De
qualquer forma, eh uma aplicacao de uma caracteristica do bash que eu
acho q vale a pena ser referenciada e, eventualmente, discutida. Eh
mais uma forma de transformar dois comandos num so.
<http://www.dicas-l.com.br/dicas-l/20050222.php>
A dica do Júlio do uso de process substitution (uma aplicacao
implicita de named pipes) pode simplificar um pouco o processo :-p de
alterar o conteúdo de um arquivo quando se deseja que o mesmo arquivo
receba o conteudo alterado.
Vira e meche temos um arquivo assim:
$ echo -e "batata\nlaranja\nbanana" >| frutas
$ cat frutas
batata
laranja
banana
$
Querendo tirar laranjas do arquivo acima :-p e fazendo assim:
$ echo -e "batata\nlaranja\nbanana" >| frutas
$ cat frutas | grep -v laranja >| frutas
$ cat frutas
$
acabamos com um arquivo vazio. Normalmente, entao, fazemos assim:
$ echo -e "batata\nlaranja\nbanana" >| frutas
$ cat frutas | grep -v laranja >| frutas-tmp
$ mv frutas-tmp frutas
$ cat frutas
batata
banana
$
Nao eh o fim do mundo ter que usar esse passo intermediario (mv), e
sob varios aspectos talvez seja ate recomendavel, mas podemos pular o
mv fazendo assim:
$ echo -e "batata\nlaranja\nbanana" >| frutas
$ cat <(cat frutas | grep -v laranja) >| frutas
$ cat frutas
batata
banana
$
cat <[]'s :-p
--
(o_ ------------------ __o
//\ address@hidden _`\<,
V_/_ --- www.lsd.org.br (_)/(_)
---------------------------------
- Alterar conteúdo do arquivo direcionando para o mesmo arquivo,
Arkanon <=