web-dev-qa-db-fra.com

Fonction de recherche dans le terminal?

J'ai écrit un programme qui envoie beaucoup de texte au terminal.

Je cherche certains mots dans le texte pour voir si je l'ai bien fait, mais il est impossible de lire le texte.

Existe-t-il des fonctionnalités ou des commandes qui me permettent réellement de rechercher un mot dans le terminal (comme Ctrl + F)?

30
Hossein

Ses Shift + Ctrl + F.

Vous voudrez peut-être changer la valeur Scrollback en nlimited pour ne perdre aucune ligne:

  • Édition> Préférences de profil> Défilement

    enter image description here

43
htorque

Une autre option:

yourCommand | less

Maintenant, vous pouvez appuyer sur les touches fléchées pour monter, descendre, gauche et droite (en général, vous utilisez uniquement les deux premiers).

Vous pouvez également taper /Word afin de rechercher un mot (ou une expression régulière) après le curseur. Inversement, ?word recherchera le mot/regex avant (au-dessus) le curseur. (Le curseur est la position où vous vous trouvez dans le texte.)

Vous pouvez également utiliser les touches Accueil et Fin pour aller au début et à la fin de la sortie. Appuyez sur Qpour quitter (revenir à la console).

Plus d'informations:

man less
10
Pedro Loureiro

Vous pouvez diriger la sortie vers un fichier avec > myfile.txt, puis rechercher le fichier avec grep.

grep "Word" myfile.txt

Je préfère généralement cette approche car vous n'avez pas à vous soucier de la taille de la mémoire tampon du terminal et vous pouvez facilement conserver la sortie de plusieurs exécutions de programme.

9
Alb
mycommand | grep "phrase I want to find"

Ceci élimine l'étape intermédiaire ^ de @Alb de rediriger vers un fichier.

5
kzh

Si vous utilisez GNU Screen - copy mode et jk fonctionne correctement.

1
Jeffrey Jose