Enviado em 06/01/2010 - 21:01h
Gostaria de saber se é possível obter a saída de forma completa de um conjunto de comandos.
Vamos supor:
for i aaa bbb ccc ddd; do echo $i ; sleep 5 ; done | sed 's/^/xxxx-/'
A saída será:
xxxx-aaa
(5 segundos depois)
xxxx-bbb
(5 segundos depois)
etc
Como se pode ver: cada comando echo assim que é executado, já envia sua saída para o sed.
O que quero dizer é o seguinte: Se tem uma forma de todos os comandos echo dentro do loop
serem executados de uma só vez e depois que todos forem executados, a saída toda é
enviada para o sed.
Utilizando arquivos temporários ou gravando a saída em uma variável auxiliar, eu consigo o
que quero. Só quero saber se tem outro jeito de fazer essa mesma tarefa.
O problema que já tentei quase tudo: subshells, /dev/fd/0, <(), etc e até agora nada. :(
Abraços
Vamos supor:
for i aaa bbb ccc ddd; do echo $i ; sleep 5 ; done | sed 's/^/xxxx-/'
A saída será:
xxxx-aaa
(5 segundos depois)
xxxx-bbb
(5 segundos depois)
etc
Como se pode ver: cada comando echo assim que é executado, já envia sua saída para o sed.
O que quero dizer é o seguinte: Se tem uma forma de todos os comandos echo dentro do loop
serem executados de uma só vez e depois que todos forem executados, a saída toda é
enviada para o sed.
Utilizando arquivos temporários ou gravando a saída em uma variável auxiliar, eu consigo o
que quero. Só quero saber se tem outro jeito de fazer essa mesma tarefa.
O problema que já tentei quase tudo: subshells, /dev/fd/0, <(), etc e até agora nada. :(
Abraços