buscar texto en la salida del terminal


33

Estoy ejecutando una aplicación con un comando $ grails run-appque imprime el terminal de inicio de sesión como a continuación.

search_text_terminal

Lo que quiero es buscar un texto en particular (digamos user authorities) en este registro para poder verificarlo más a fondo. Una forma de usar Logging Apis para escribir en un archivo de texto, pero quiero buscarlo en una terminal en este momento.

Encontré una pregunta similar sobre cómo hacer buscar un texto en el terminal directamente que sugiera el screencomando, pero no tengo idea de cómo screenfunciona en este caso. Lo intenté $ screen grails run-app pero no pude seguir adelante.

Puedo ver listas de pantallas con

prayag@prayag:~/zlab/nioc2egdelonk$ screen -list
There is a screen on:
    8076.pts-2.prayag   (10/06/2013 12:13:25 PM)    (Attached)
1 Socket in /var/run/screen/S-prayag.

Sin embargo, utiliza el comando de pantalla, pero sugiero dejarlo y usarlotmux
PersianGulf

@MohsenPahlevanzadeh, claro que lo intentaré tmuxtambién. Al escucharlo mucho.
prayagupd

Respuestas:


23

Ctrl+a( screenprefijo de comando predeterminado ), [( copymodo de ingreso ) seguido de ?SEARCH_TEXTparece funcionar. Presione npara ir al siguiente evento. Desde allí, puede copiar palabras, líneas, regiones, etc. para volcarlas en archivos o pegarlas más adelante (con Ctrl+a, ]).

ingrese la descripción de la imagen aquí


55
No puedo hacer esto. ¿Entonces necesita presionar 3 teclas a la vez? Ctrl, a, [?
Capaj

34
usoshift+ctrl+f
Ja8zyjits

15

Si usa Konsole (emulador de terminal KDE), puede usar Ctrl+ Shift+ F. Esto podría funcionar también en otros emuladores de terminal (Linux).

Editar:
@sumit informa que esto también funciona en Gnome Terminal .
@vdicarlo informa que esto también funciona en la Terminal XFCE4 .


1
Esto también funciona en el emulador de terminal de GNOME.
Sumit

Funciona en terminator. ¡Gracias!
ryanjdillon

8

Se puede utilizar grepdespués de que el grailscomando: grails run-app | grep "user authorities". Sin embargo, tendrá que volver a ejecutar su comando.


3
Esta respuesta no debe ser rechazada, es absolutamente correcta.
amrx

2
Si bien es correcto, es más útil tener algo que uno pueda hacer después de que la salida ya se haya impreso.
Ludwik

@Baron, incluso estoy bastante seguro de que el autor de la pregunta quería decir que el comando ya se está ejecutando, por lo que esto no responde la pregunta.
Nadie el


1

Redirija la salida de su comando a vim-editor: grails run-app | vim -

Varios consejos para buscar usando Vim:

  • escriba y /luego ingrese su cadena de búsquedauser authorities
  • escriba :set hlsearchpara resaltar los resultados de búsqueda
  • escriba npara buscar hacia adelante o Shift+nhacia atrás
  • recuerda que ahora estás en el editor, así que si hiciste algunos cambios accidentalmente puedes revertirlo, solo presiona ESCuna vez para salir del modo de edición, luego presiona upara deshacer una edición
  • escriba :q!para salir de Vim y descartar sus resultados de búsqueda
  • puedes hacer lo que quieras :-D http://vim.wikia.com/wiki/Vim_Tips_Wiki

aprendí algo!
oneindelijk
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.