Cómo copiar la salida anterior desde la terminal bash al archivo

Cómo copiar la salida anterior desde la terminal bash al archivo

Sé cómo redirigir la salida de una terminal a un archivo. Por ejemplo, si quiero enumerar todos los archivos en ~/Documentos y generarlos en un archivo llamado test.txt, haría esto:

ls ~/Documents > test.txt

La pregunta es, ¿puedo copiar el resultado a test.txt DESPUÉS de haber ejecutado el comando? Esto significaría que no tendría que saber de antemano si quiero copiar el resultado en un archivo. Quiero hacer algo como esto:

ls ~/Documents

Luego esto:

<bash command for copying standard output to test.txt>

Cualquier ayuda será apreciada, gracias.

Respuesta1

Podrías usar tee, pero eso no es estrictamente después de ejecutar el comando anterior.

ls ~/Documents | tee test.txt

Escribirá el resultado en su sesión de línea de comando normalmente y también lo escribirá en test.txt.

Alternativamente, si está ejecutando GNU screen, hay comandos para moverse en el búfer de desplazamiento hacia atrás y copiar/pegar. Más información enesta pregunta de superusuario.

Respuesta2

podría iniciar su sesión de shell en una ventana de Emacs y luego simplemente copiar y pegar

(también puede emitir un comando desde vi y ensamblar la salida en el búfer vi actual),

o puedes copiar y pegar desde tu ventana xterm,

o puede ejecutar su sesión de shell usando script(1) y luego editar el resultado de la sesión,

o simplemente podrías rehacer tu comando.

Espero que esto ayude, Klaus.

información relacionada