[Linux commandes] Grep / Awk / Cut / Sed
Introduction
Cette page montre l'utilisation d'outils en ligne de commande qui permettent de travailler avec les chaînes de caractères.
Grep
Permet de trouver un motif dans un fichier. Voici la syntaxe globale :
grep [options] motif [fichier...]
Voici les options les plus courantes :
- -i : Ignorer la casse (recherche insensible à la casse).
- -r : Rechercher récursivement dans les répertoires.
- -l : Afficher uniquement les noms de fichiers contenant des correspondances.
- -v : Inverser la recherche (afficher les lignes qui ne contiennent pas le motif).
- -n : Afficher le numéro de ligne de chaque correspondance.
- -c : Afficher le nombre total de correspondances trouvées.
- -A num : Afficher num lignes après chaque correspondance.
- -B num : Afficher num lignes avant chaque correspondance.
- -C num : Afficher num lignes avant et après chaque correspondance.
- -e motif : Rechercher plusieurs motifs.
- -f fichier : Lire les motifs à partir d'un fichier.
- --exclude=pattern : Exclure les fichiers correspondant au modèle donné.
- --include=pattern : Inclure uniquement les fichiers correspondant au modèle donné.
- --color=auto : Surligner les correspondances en couleur (par défaut).
- --color=never : Désactiver la coloration.
Exemples :
- Rechercher un motif dans un fichier :
grep "motif" fichier.txt
- Rechercher un motif dans plusieurs fichiers récursivement :
grep -r "motif" répertoire/
- Rechercher un motif en ignorant la casse :
grep -i "motif" fichier.txt
- Afficher uniquement les noms de fichiers contenant des correspondances :
grep -l "motif" fichier1.txt fichier2.txt
- Inverser la recherche pour afficher les lignes sans correspondances :
grep -v "motif" fichier.txt
- Afficher le numéro de ligne de chaque correspondance :
grep -n "motif" fichier.txt
- Rechercher plusieurs motifs :
grep -e "motif1" -e "motif2" fichier.txt
- Utiliser un fichier contenant des motifs à rechercher :
grep -f motifs.txt fichier.txt
- Exclure certains fichiers de la recherche :
grep "motif" --exclude=*.log répertoire/
- Activer/désactiver la coloration des correspondances :
grep --color=always "motif" fichier.txt grep --color=never "motif" fichier.txt