¿Cómo extraer texto del shell actual?

2

Cuando quiero hacer una pregunta en la plataforma Linux, siempre necesito proporcionar la captura de pantalla del shell actual. Pero tomar una instantánea, cargar, vincular cuesta mucho, ¿hay algún comando para extraer texto directamente del shell actual?

Jichao
fuente

Respuestas:

1

Podrías usar el comando de script .

Tomado del manual:

La utilidad de script crea un mecanografiado de todo lo impreso en su terminal.
Es útil para los estudiantes que necesitan un registro impreso de una sesión interactiva como prueba de una tarea, ya que el archivo mecanografiado se puede imprimir más tarde con lpr (1).

Si se proporciona el archivo de argumento, el script guarda todos los diálogos en el archivo. Si no se proporciona ningún nombre de archivo, el mecanografiado se guarda en el mecanografiado del archivo.

Si se proporciona el comando de argumento, el script ejecutará el comando especificado con un vector de argumento opcional en lugar de un shell interactivo.

Ejemplo (información en archivo mecanografiado):

Script started on Mon Nov  2 21:13:17 2009
bash-3.2$ pwd
/Users/ricbax
bash-3.2$ ps
  PID TTY           TIME CMD
  395 ttys000    0:00.02 -bash
  425 ttys000    0:00.00 script
  426 ttys001    0:00.01 /bin/bash -i
bash-3.2$ exit
exit

Script done on Mon Nov  2 21:13:44 2009
ricbax
fuente
+1 Muy bien! Eso es lo más simple posible.
DaveParillo el
2

screenpuede hacer esto Conéctese a una screeninstancia, ejecute sus comandos de shell y obtenga una "copia impresa" del terminal actual con el hardcopycomando de pantalla (escriba Ctrl-A, luego presione "h"). La salida es por lo general guarda en su directorio personal en ~/hardcopy.1, ~/hardcopy.2, etc.

Si necesita más de lo que hay en la pantalla actual, use screenel búfer de desplazamiento hacia atrás .

  • Acceda (ingrese al "modo de copia") presionando Ctrl-A, luego Esc.
  • Desplácese hacia arriba / abajo con Ctrl-U / Ctrl-D o las teclas de flecha o movimiento estilo vim (j / k / l / h).
  • Salga del "modo de copia" presionando Esc.

Usando el "modo de copia", puede seleccionar un bloque de texto y obtener una copia impresa como esta:

  1. Ingrese al "modo de copia" (presione Ctrl-A, luego Esc).
  2. Desplácese hasta el inicio del texto que desea copiar.
  3. Presione espacio. Esto marca el comienzo.
  4. Desplácese hasta el final del texto que desea copiar.
  5. Presione ESPACIO nuevamente. Esto llena el búfer de copia y sale del "modo de copia".
  6. Escriba el búfer de copia en el archivo (presione Ctrl-A, luego >). El búfer de copia está escrito en /tmp/screen-exchange.
  7. Copie /tmp/screen-exchangea cualquier archivo que desee:

    cp /tmp/screen-exchange ~/my.terminal.printout.txt

La salida de su terminal ahora está adentro ~/my.terminal.printout.txt.

quijote curandero
fuente
@ ~ quack: es un poco complicado :)
Jichao
screen es una utilidad muy poderosa, así que sí, lleva un tiempo acostumbrarse. Lo he estado usando durante mucho tiempo y ahora estoy resolviendo esto. si ya fuera usuario de la pantalla, las cosas "Ctrl-A, h" no parecerían tan complicadas.
quack quijote el