Lorsque vous exécutez simplement grep --color
, cela implique grep --color=auto
qui détecte si la sortie est un terminal et, le cas échéant, active les couleurs. Cependant, lorsqu'il détecte un tube, il désactive la coloration. La commande suivante :
grep --color=always -R "chaîne de recherche" * | less
Activera toujours la coloration et passera outre la détection automatique, et vous obtiendrez la mise en surbrillance en couleur dans less
.
MODIFIER : Bien que l'utilisation uniquement de less
fonctionne pour moi, peut-être que des versions plus anciennes requièrent le drapeau -R
pour gérer les couleurs, comme l'a suggéré therefromhere.
0 votes
Possible duplicate de Obtenir des couleurs dans la commande 'less'
0 votes
Que fait
*
? De la page de l'homme de grep :*: L'élément précédent sera trouvé zéro ou plusieurs fois.
Mais je ne comprends toujours pas..! @JeremyPowell1 votes
@Shayan, le '*' dans ce cas est pour les arguments de fichier. Il est traité par le shell qui l'expand en tous les fichiers du répertoire. La chaîne de recherche est encadrée par des guillemets doubles dans l'exemple.