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

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

Re: [shell-script] Alterar conteúdo do arquivo direcionando para o mesmo


From: Arthur M. Meskelis
Subject: Re: [shell-script] Alterar conteúdo do arquivo direcionando para o mesmo arquivo
Date: Fri, 7 May 2010 17:57:36 -0300

se você não tiver memória suficiente para alocar a saída do primeiro cat,
não dará certo
não funciona em todos os casos

Em 7 de maio de 2010 17:48, Arkanon <address@hidden> escreveu:

>
>
> 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 <arkanon%40lsd.org.br>   _`\<,
> V_/_  --- www.lsd.org.br  (_)/(_)
> ---------------------------------
>  
>



-- 
------------------------------------------
1. Notebook para você ficar livre e programar a vontade: R$ 2300
2. Curso de Programação/SysAdmin/DBA: R$ 5000
3. Pedir a solução pronta para um problema numa lista de discussão: Não tem
preço !

E para todas as outras existe RTFM, STFW e  LMGTFY


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



reply via email to

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