La commande grep dans le système Linux est un puissant outil de recherche de texte. Elle peut utiliser des expressions régulières pour rechercher du texte et imprimer les lignes correspondantes. Le nom complet de grep est Global Regular Expression Print, ce qui signifie la version globale de l'expression régulière. Ses autorisations d'utilisation sont destinées à tous les utilisateurs.
1. Fonction
La commande grep dans le système Linux est un puissant outil de recherche de texte. Elle peut utiliser des expressions régulières pour rechercher du texte et imprimer les lignes correspondantes. Le nom complet de grep est Global Regular Expression Print, ce qui signifie la version globale de l'expression régulière. Ses autorisations d'utilisation sont destinées à tous les utilisateurs.
La famille grep comprend grep, egrep et fgrep. Les commandes egrep et fgrep ne diffèrent que légèrement de grep. egrep est une extension de grep et prend en charge davantage de métacaractères. fgrep est un grep fixe ou un grep rapide. C'est-à-dire que les métacaractères dans les expressions régulières représentent leurs propres significations littérales, et non plus spéciales. Linux utilise la version GNU de grep. Il est plus puissant et peut utiliser les fonctions egrep et fgrep via les options de ligne de commande -G, -E et -F.
2. Format et paramètres principaux
grep [options]
Paramètres principaux : grep --help peut être consulté
-c : afficher uniquement le nombre de lignes correspondantes.
-i : insensible à la casse.
-h : n'affiche pas les noms de fichiers lors de l'interrogation de plusieurs fichiers.
-l : lors de l'interrogation de plusieurs fichiers, seuls les noms de fichiers contenant des caractères correspondants seront affichés.
-n : Afficher les lignes et les numéros de ligne correspondants.
-s : n'affiche pas les messages d'erreur qui n'existent pas ou qui n'ont pas de texte correspondant.
-v : Afficher toutes les lignes qui ne contiennent pas de texte correspondant.
--color=auto : Vous pouvez afficher les mots-clés trouvés en couleur.
Principaux paramètres de l'expression régulière de modèle :
: Ignorer la signification originale des caractères spéciaux dans l'expression régulière.
^ : Correspond à la ligne de départ de l'expression régulière.
$ : correspond à la ligne de fin de l'expression régulière.
< : Partez de la ligne correspondant à l'expression régulière.
> : à la fin de la ligne correspondant à l’expression régulière.
[ ] : Un seul caractère, tel que [A], c'est-à-dire A répond aux exigences.
[-] : les plages, telles que [A-Z], c'est-à-dire A, B, C à Z, répondent toutes aux exigences.
.: Tous les personnages uniques.
* : Tous les caractères, la longueur peut être 0.
3. Un exemple simple d'utilisation de la commande grep
itcast$ grep 'test' d*
Afficher toutes les lignes contenant test dans les fichiers commençant par d
itcast $ grep 'test' aa bb cc
Affiche les lignes correspondant au test dans les fichiers aa, bb, cc.
itcast $ grep '[a-z]{5}' aa
Affiche toutes les lignes contenant des chaînes chacune avec au moins 5 caractères minuscules consécutifs.
itcast $ grep 'w(es)t.*1′ aa
Si west correspond, es est stocké en mémoire et marqué comme 1, puis recherche n'importe quel nombre de caractères (.*), ces Le caractère est suivi d'un autre es(1) et la ligne s'affiche une fois trouvée. Si vous utilisez egrep ou grep -E, il n'est pas nécessaire de s'échapper avec le signe "", écrivez-le simplement directement sous la forme 'w(es)t.*1'.
4. La commande grep utilise des instances complexes
Demander explicitement de rechercher des sous-répertoires :
grep -r
Ou ignorer les sous-répertoires
grep -d skip
S'il y a beaucoup de résultats, vous pouvez le diriger vers 'less' pour la lecture :
itcast$ grep magic /usr/src/Linux/Documentation/* | less
De cette façon, vous pouvez le lire plus facilement.
Une chose à noter est que vous devez fournir une méthode de filtrage de fichiers (utilisez * pour rechercher tous les fichiers). Si vous oubliez, 'grep' attendra que le programme soit interrompu. Si vous rencontrez ce problème, appuyez sur et réessayez.
Vous trouverez ci-dessous quelques paramètres de ligne de commande intéressants :
Fichiers de modèles grep -i : recherchez sans tenir compte de la casse. Par défaut, il est sensible à la casse,
fichiers de modèles grep -l : seuls les noms de fichiers correspondants sont répertoriés,
fichiers de modèles grep -L : les noms de fichiers sans correspondance sont répertoriés,
fichiers de modèles grep -w : uniquement Faire correspondre le mot entier, pas une partie de la chaîne (comme faire correspondre « magique », pas « magique »),
fichiers de modèles de nombre grep -C : le contexte correspondant affiche respectivement [numéro] lignes,
grep pattern1 | fichiers pattern2 : affichez les lignes correspondant à pattern1 ou pattern2,
Par exemple : grep "abc|xyz" le fichier de test signifie filtrer les lignes contenant abc ou xyz
grep pattern1 files |
Les fichiers de modèles grep -n peuvent afficher des informations sur le numéro de ligne
Les fichiers de modèles grep -c peuvent trouver le nombre total de lignes
Il existe également des symboles spéciaux utilisés pour la recherche : < et fin d'un mot La fin.
Par exemple :
grep man * correspondra à 'Batman', 'manic', 'man', etc.
grep '
'^' : signifie que la chaîne correspondante est au début de la ligne,
'$' : signifie que la chaîne correspondante est à la fin de la ligne,
Utilisez grep pour trouver la structure grep -R "struct task_struct { " /usr/src Ajoutez -n pour afficher le numéro de ligne
PS1=$ Entrez le répertoire personnel dans .bashrc
[Recommandation de cours : Tutoriel vidéo Linux]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!