[eside-ghost] Bash - Filtrando salida de proceso mientras se guarda en variable
Jon Valdés
juanval en gmail.com
Mie Ago 1 12:38:48 CEST 2012
2012/8/1 Pablo Garaizar Sagarminaga <garaizar en deusto.es>:
> Aupa,
>
> El Wed, 1 Aug 2012 12:04:09 +0200
> Bruno Gonzalez <stenyak en gmail.com> comentaba:
>
>> Uhmm... por si no es muy obvio, se me ha olvidao decir que ese script
>> toma como input a stdout. Es decir lo guardas como "filter.sh", y
>> luego lo usas tal que:
>> $ comando.sh | ./filter.sh > /tmp/passthrough_del_stdout.txt
>
> Si Jon lo quiere dentro de su script, siempre puede cambiar el
>
> while read line
>
> por:
>
> comando | while read line
>
> y dejar el resto igual. Creo que debería funcionar :-)
Lo he estado intentando, y no lo consigo.
Sospecho que el "while" crea un entorno distinto que no comparte las
variables con el script original, porque esto no tira:
output=""
find . | while read line
do
printf "$line\n"
output="$output\n$line"
done
echo "********************"
printf "$output\n"
He probado a ponerle un export al output dentro del while, y tampoco.
Más información sobre la lista de distribución eside-ghost