¿Qué es un método simple para el volcado de la tubería de entrada a un archivo?(Linux)

StackOverflow https://stackoverflow.com/questions/76700

  •  09-06-2019
  •  | 
  •  

Pregunta

Estoy buscando un pequeño shell script que va a tomar nada de lo que se escucha en ella, y la descarga de un archivo..de correo electrónico para propósitos de depuración.Alguna idea?

¿Fue útil?

Solución

El comando unix tee hace esto.

man tee

Otros consejos

cat > FILENAME

No estás sola en la necesidad de algo similar...de hecho, alguien quería que la funcionalidad de hace décadas y desarrollado tee :-)

Por supuesto, usted puede redirigir stdout directamente a un archivo en cualquier shell mediante el carácter>:

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

El estándar de unix herramienta tee puede hacer esto.Se copia a la entrada a la salida, mientras que también registrar en un archivo.

El Uso De Procmail.Procmail es tu amigo.Procmail es hecho para este tipo de cosas.

Si desea analizar en la secuencia de comandos:

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

Pero usted puede simplemente utilizar gato.Si el gato se pone algo en la stdin, le echo a la salida estándar (stdout), así que tendrás que dirigir a cat >$SALIDA.Estos harán lo mismo.El segundo funciona para los datos binarios también.

Si quieres un script de shell, intente esto:

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

Si exim o sendmail es lo que está escrito en el tubo, a continuación, procmail es una buena respuesta, porque voy a dar el bloqueo de archivos/serialización y usted puede poner todo en el mismo archivo.

Si sólo quieres escribir en un archivo, a continuación, - t > /tmp/log.$$ o - cat > /tmp/log.$$ podría ser lo suficientemente buena.

Uso <<command>> | tee <<file>> para la tubería de un comando <<command>> en un archivo <<file>>.

Esto también mostrará la salida.

Eh?Supongo, no entiendo la pregunta?

No puede usted acaba de terminar su tubo en un >> ~file

Por ejemplo

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

se anexará Foobar a la dumpfile (y crear dumpfile si es necesario).No hay necesidad de un script de shell...Es que lo que estaban buscando?

si usted no se preocupan por producir el resultado

cat - > filename

o

cat > filename
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top