2008-09-16 8 views

Respuesta

23

El tee de comando de unix hace esto.

man tee 
+0

Si fuera por mí, imphasing, yo "aceptaría" esta respuesta –

2

Use Procmail. Procmail es tu amigo. Procmail está hecho para este tipo de cosas.

10
cat > FILENAME 
5

El estándar de Unix herramienta camiseta puede hacer esto. Copia la entrada a la salida, mientras también lo registra en un archivo.

8

Usted no está solo en la necesidad algo similar .. de hecho, alguien quería hace décadas y desarrolló i tee :-)

Por supuesto, puede redirigir la salida estándar directamente a un archivo en cualquier shell mediante la> personaje:

echo "hello, world!" > the-file.txt 
0

¿Huh? Supongo que no entiendo la pregunta.

no puedes terminar su tubo en un >> ~file

Por ejemplo

echo "Foobar" >> /home/mo/dumpfile 

anexará a la Foobar dumpfile (y crear dumpfile si es necesario). No es necesario un script de shell ... ¿Es eso lo que estabas buscando?

1

Si se desea analizar en el guión:

while /bin/true; do 
    read LINE 
    echo $LINE > $OUTPUT 
done 

Pero puede simplemente usar gato. Si el gato recibe algo en el stdin, se lo hará eco a la stdout, por lo que tendrá que canalizarlo a cat> $ OUTPUT. Estos harán lo mismo. El segundo funciona para datos binarios también.

0

si no se preocupan por dar salida al resultado

cat - > filename 

o

cat > filename 
0

Si quieres un script de shell, intente esto:

#!/bin/sh 
exec cat >/path/to/file 
1

Si exim o sendmail es lo que está escribiendo en la tubería, entonces procmail es una buena respuesta porque le dará bloqueo/serialización de archivos y usted un poner todo en el mismo archivo.

Si lo que desea es escribir en un archivo, a continuación, - T> /tmp/log.$$ o - cat> /tmp/log.$$ podría ser lo suficientemente bueno.

0

< < comando >> | archivo de < de la te >>

Esto también demostrará la salida.

Cuestiones relacionadas