La commande grep
est une des première qu’on apprend sous Linux
pour rechercher des expression dans les fichiers.
On peut aussi utiliser ack pour le même usage,
ou encore ag: the silver searcher,
mais je n’ai pas essayé ce dernier.
Un peu de couleur
Saviez-vous que grep
peut colorier ses résultats pour mettre en avant les
portions de texte qui correspondent à la recherche ? C’est super pratique…
Ca peut se faire avec l’option --color
:
avec --color=auto
grep
ne colorie que si la sortie se fait dans un terminal.
Ca évite de polluer la sortie avec des caractères de contrôle
quand on utilise grep
dans un pipe
par exemple.
On peut soit redéfinir grep
dans son .bashrc
, soit faire :
export GREP_OPTIONS='--color=auto'
Par défaut, grep
utilise le rouge, mais on peut redéfinir la couleur par :
export GREP_COLOR='1;95'
pour colorier en gras et rose par exemple. (Pour les codes des couleurs, voir mon script dans cette note).
Liste de fichiers
On peut aussi demander à grep
d’afficher :
- la liste des fichiers qui contiennent
la chaîne recherchée avec
-l
(ou--files-with-matches
), - ou qui ne la contiennent pas avec
-L
(ou--files-without-match
).
Avec ou sans les noms de fichiers
Par défaut, dès que la recherche est faites sur plusieurs fichiers, les lignes sont préfixées par le nom du fichier. On peut :
- ne pas les afficher avec
-h
(ou--no-filename
), - ou on contraire l’ajouter même lorsqu’on ne recherche que dans un fichier
avec
-H
(ou ``–with-filename)
Numéro de ligne
On peut aussi demander à préfixer chaque ligne de sortie par le numéro de la ligne dans le fichier
avec l’option -n
(ou --line-number
).
Voir aussi :
- Afficher un pourcentage dans une page HTML
- VNC : Virtual Network Computing
- Git : déménagement d'un dépôt
- Quelques liens au sujet de l'analyse statique
- Ocaml: mon principal langage de développement
- Disque dur externe
- Les profiles dans Firefox
- Cryptographie et mail sous Android
- Quelques liens au sujet du C
- Git rebase : pour diviser un commit