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.
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
Divulgation complète : Cette commande a été prise depuis cette réponse .
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.