web-dev-qa-db-fra.com

rechercher du texte sur la sortie du terminal

J'exécute une application avec la commande $ grails run-app qui affiche le terminal de connexion comme ci-dessous.

search_text_terminal

Ce que je veux, c'est rechercher un texte particulier (disons user authorities) dans ce journal afin que je puisse vérifier davantage. Une façon d'utiliser Logging Apis pour écrire dans un fichier texte mais je veux le rechercher dans un terminal pour le moment.

J'ai trouvé une question similaire à comment faire rechercher directement un texte sur le terminal qui suggère la commande screen, mais je ne sais pas comment screen fonctionne dans ce cas. J'ai essayé $ screen grails run-app mais n'a pas pu avancer.

Je peux voir les listes d'écrans avec

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.
35
prayagupd

Ctrl+a (préfixe de commande par défaut screen), [ (entrez le mode copy) suivi de ?SEARCH_TEXT semble fonctionner. presse n pour passer à l'occurrence suivante. De là, vous pouvez copier des mots, des lignes, des régions, etc. pour les vider dans des fichiers ou les coller plus tard (avec Ctrl+a]).

enter image description here

25
prayagupd

Si vous utilisez Konsole (émulateur de terminal KDE), vous pouvez utiliser Ctrl + Shift + F. Cela pourrait également fonctionner dans d'autres émulateurs de terminaux (Linux).

Éditer:
@ sumit rapporte que cela fonctionne également dans Gnome Terminal.
@ vdicarlo rapporte que cela fonctionne également dans XFCE4 Terminal.

18
Augustin

Vous pouvez utiliser grep après la commande grails: grails run-app | grep "user authorities". Cependant, vous devrez réexécuter votre commande.

8
Timo

Redirigez la sortie vers le tube et envoyez-la à une commande grep:

grails run-app | grep user authorities
3

Redirigez la sortie de votre commande vers vim-editor: grails run-app | vim -

Quelques conseils pour rechercher avec Vim:

  • tapez / puis entrez votre chaîne de recherche user authorities
  • tapez :set hlsearch pour mettre en évidence les résultats de la recherche
  • tapez n pour rechercher vers l'avant ou Shift+n pour rechercher en arrière
  • rappelez-vous que vous êtes dans l'éditeur maintenant, donc si vous avez fait des changements accidentellement, vous pouvez revenir en arrière, appuyez simplement sur ESC une fois pour quitter le mode édition, puis appuyez sur u pour annuler une modification
  • tapez :q! pour quitter Vim et supprimer vos résultats de recherche
  • vous pouvez faire ce que vous voulez :-D http://vim.wikia.com/wiki/Vim_Tips_Wiki
2
graceman9