La commande grep est utilisée pour rechercher des chaînes dans un fichier texte. Voici dix exemples de grep qui pourraient vous être utiles.
La commande grep permet d'accéder à l'utilitaire grep, un puissant outil de traitement de fichiers utilisé pour rechercher des modèles dans des fichiers texte. Il a de nombreux cas d'utilisation pratiques et est certainement l'une des commandes Linux les plus utilisées. Ce guide illustre quelques commandes grep Linux simples mais utiles qui ont des utilisations dans le monde réel.
Exemple de fichier pour la démonstration
Nous avons créé un fichier de référence pour aider les lecteurs à mieux comprendre grep. Vous pouvez créer une copie de ce fichier en exécutant la commande shell suivante dans votre terminal.
chat <> fichier-test
Il s'agit d'un simple fichier texte contenant
plusieurs chaînes ainsi que certains numéros de téléphone
(555) 555-1234 (567) 666-2345
et e-mail et adresses Web
[email protected]
https://google.com
ftp://mywebserver.com
FINIR
1. Rechercher du texte dans des fichiers
Pour rechercher un modèle de texte dans un fichier, exécutez simplement grep suivi du nom du modèle. Spécifiez également le nom du fichier contenant le texte.
grep "email" test-file
Cette commande affichera la ligne dans notre fichier-test qui contient le mot e-mail. Vous pouvez également rechercher le même texte dans plusieurs fichiers à l'aide de grep.
grep "exemple" / usr / share / dict / american-english / usr / share / dict / british-english
La commande ci-dessus affiche toutes les instances du mot Exemple dans le anglais américain et Anglais britannique fichiers de dictionnaire.
2. Rechercher des mots correspondants exacts
La commande Linux grep illustrée dans l'exemple précédent répertorie également les lignes avec des correspondances partielles. Utilisez la commande ci-dessous si vous n'avez besoin que des occurrences exactes d'un mot.
grep -w "string" test-file
le -w ou --word-regexp L'option de grep limite la sortie aux correspondances exactes uniquement. Grep se compose de quelques indicateurs supplémentaires qui peuvent également être utilisés avec la commande par défaut.
En rapport: Comment Grep tire-t-il son nom? L'histoire derrière la création de Grep
3. Ignorer les distinctions de cas
Par défaut, grep recherche les modèles en respectant la casse. Cependant, vous pouvez désactiver cette option si vous ne savez pas à l'avance dans quel cas se trouve le modèle.
grep -i "ce" fichier-test
Utilisez le -je ou --ignore-case option pour désactiver la sensibilité à la casse.
4. Comptez le nombre de motifs
le -c drapeau représente compter. Il affiche le nombre de correspondances trouvées pour un modèle particulier. Les administrateurs peuvent l'utiliser pour récupérer des informations spécifiques sur le système.
Vous pouvez canaliser la commande ps avec grep pour compter les processus appartenant à l'utilisateur actuel.
ps -ef | grep -c $ USER
La commande suivante affiche le nombre de MP3 fichiers présents dans un répertoire.
ls ~ / Musique | grep -c .mp3
5. Afficher les numéros de ligne contenant des correspondances
Vous souhaiterez peut-être rechercher les numéros de ligne contenant une certaine correspondance. Utilisez le -n ou --numéro de ligne option de grep pour y parvenir.
cat / etc / passwd | grep -n rubaiat
Cette option est particulièrement utile pour débogage des codes sources et dépannage des fichiers journaux. Pour afficher tous les nombres de lignes dans le ~ / .vimrc qui sont utilisés pour configuration de l'éditeur de texte Vim:
grep -n "set" ~ / .vimrc
6. Rechercher des noms de fichiers à l'aide d'extensions
Pour obtenir une liste de tous les MP3 fichiers présents dans le ~ / Musique annuaire:
ls ~ / Musique / | grep ".mp3"
Vous pouvez remplacer .mp3 avec toute autre extension pour localiser des fichiers spécifiques. La commande suivante répertorie tous les php fichiers présents dans le répertoire de travail actuel.
ls | grep ".php"
7. Rechercher des modèles dans des fichiers compressés
La commande Linux grep peut également trouver des modèles dans des fichiers compressés. Vous devrez utiliser le zgrep commande pour faire cela, cependant. Commencez par créer une archive compressée de notre fichier-test en tappant:
fichier-test gzip
Maintenant, vous pouvez rechercher du texte ou d'autres modèles dans l'archive résultante.
zgrep email test-file.gz
8. Rechercher des adresses e-mail
Les administrateurs peuvent également répertorier les adresses e-mail à partir de fichiers texte à l'aide de la commande Linux grep. L'exemple suivant effectue cela en recherchant un modèle d'expression régulière.
grep '^ [a-zA-Z0-9] \ + @ [a-zA-Z0-9] \ + \. [a-z] \ {2, \}' fichier-test
Vous pouvez trouver des expressions régulières pour effectuer des tâches similaires ou vous pouvez les créer vous-même si vous savez comment elles fonctionnent.
9. Rechercher des numéros de téléphone à l'aide de Grep
Vous pouvez utiliser des expressions régulières grep pour filtrer les numéros de téléphone d'un fichier texte. Notez que vous devrez modifier le modèle pour qu'il corresponde au type de numéros de téléphone dont vous avez besoin.
grep '\ (([0-9] \ {3 \}) \ | [0-9] \ {3 \} \) [-] \? [0-9] \ {3 \} [-] \? [0-9] \ {4 \} 'fichier-test
La commande susmentionnée filtre les numéros de téléphone américains à dix chiffres.
10. Rechercher des URL à partir de fichiers sources
Nous pouvons tirer parti de la puissance de grep pour répertorier les URL trouvées dans les fichiers texte. La commande ci-dessous imprime toutes les URL présentes dans le fichier-test.
grep -E "^ (http | https | ftp): [\ /] {2} ([a-zA-Z0-9 \ - \.] + \. [a-zA-Z] {2,4}) "fichier-test
Nous utilisons à nouveau le -E option pour les expressions régulières étendues. Vous pouvez également utiliser le egrep commande pour éviter d'ajouter ceci.
egrep "^ (http | https | ftp): [\ /] {2} ([a-zA-Z0-9 \ - \.] + \. [a-zA-Z] {2,4})" test -déposer
Maîtriser la commande Linux Grep
Nous avons présenté plusieurs exemples utiles de la commande Linux grep pour résoudre les problèmes du monde réel. Bien que ces exemples illustrent la puissance de grep pour le traitement de texte, vous devrez maîtriser les expressions régulières si vous voulez être super productif avec grep.
Parfois, les utilisateurs Linux se heurtent à certaines situations où ils ne peuvent pas se souvenir des différentes options liées à une commande. Espérons que le système d'exploitation Linux vous offre des moyens d'obtenir une aide en ligne de commande pour presque tous les utilitaires système.
Toutes les commandes essentielles pour apprendre les commandes Linux à partir de la ligne de commande
Lire la suite
- Linux
- Linux
- Commandes Linux
Rubaiat est un diplômé CS passionné par l'open source. En plus d'être un vétéran d'Unix, il s'intéresse également à la sécurité réseau, à la cryptographie et à la programmation fonctionnelle. Il est un collectionneur passionné de livres d'occasion et a une admiration sans fin pour le rock classique.
Abonnez-vous à notre newsletter
Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives!
Un pas de plus…!
Veuillez confirmer votre adresse e-mail dans l'e-mail que nous venons de vous envoyer.