GNU/Linux >> Tutoriales Linux >  >> Linux

¿Un programa que podría almacenar en búfer Stdin o File?

Además de usar un archivo temporal para ayudar, ¿hay alguna forma/programa que pueda almacenar en búfer la entrada de stdin? pero no muestra el contenido hasta obtener el EOF . Tampoco quiero usar una variable de shell (por ejemplo, buffer=$(cat) ).

Este programa debería comportarse como se muestra a continuación (supongamos que el nombre del programa es buffered-cat ):

$ buffered-cat
line 1
line 2
line 3
^D # Ctr-D here(End of Line)

Ahora que el programa recibió ^D , el buffered-cat emite el contenido

line 1
line 2
line 3

Respuesta aceptada:

La sponge de un pobre usando awk :

awk '{a[NR] = $0} END {for (i = 1; i <= NR; i++) print a[i]}'

Si tienes tac , también puedes usarlo mal:

... | tac | tac

Linux
  1. Cat ¿Línea X a Línea Y en un archivo enorme?

  2. Lectura de un archivo en ensamblaje

  3. Encuentre el archivo y luego cd a ese directorio en Linux

  4. unix - recuento de columnas en el archivo

  5. agregue una línea a un archivo SOLAMENTE si aún no está en el archivo

Cómo leer archivos línea por línea en Bash

Cómo leer un archivo línea por línea en Bash

grep sin mostrar ruta/archivo:línea

Línea de comentario de Ansible en el archivo

Encuentre cualquier línea en VI que tenga algo que no sea ATCG

Programa de línea de comandos para probar el servicio DHCP