Par Rubaiat Hossain
E-mail

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.

E-mail
7 façons d'obtenir de l'aide en ligne de commande sous Linux

Toutes les commandes essentielles pour apprendre les commandes Linux à partir de la ligne de commande

Lire la suite

Rubriques connexes
  • Linux
  • Linux
  • Commandes Linux
A propos de l'auteur
Rubaiat Hossain (15 articles publiés)

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.

Plus de Rubaiat Hossain

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.

.