web-dev-qa-db-fra.com

Afficher le texte dans le terminal avec des motifs spécifiques mis en évidence

Je souhaite afficher du texte (il peut s'agir d'un fichier ou d'une sortie de commande canalisée) dans le terminal, mais je souhaite mettre en surbrillance un motif spécifique dans le texte avec des couleurs, de la même manière que grep met en surbrillance le motif correspondant dans sa sortie. lignes.

La raison pour laquelle je ne peux pas utiliser la norme grep "pattern" /path/to/file ici est que je souhaite afficher l'intégralité du texte (idéalement, elle peut défiler comme si elle était reliée par less) et pas uniquement les lignes contenant le motif.

6
Byte Commander

En fait, cela peut être fait très facilement avec quelques paramètres grep.

La commande magique que vous recherchez est:

grep --color -E "test|$" yourfile

Voici un exemple de sortie: enter image description here


Divulgation complète : Cette commande a été prise depuis cette réponse .

7
Android Dev

Si vous n'êtes pas bloqué sur couleur en surbrillance, vous pouvez utiliser less lui-même, par exemple.

less +g -p PATTERN file

ou

less +g +/PATTERN file

Le +/PATTERN met en évidence toutes les occurrences de PATTERN dans file et le +g supprime le comportement par défaut du défilement jusqu'à la première correspondance.

4
steeldriver