grep

Comment puis-je exclure des répertoires de grep -R?

Comment puis-je exclure des répertoires de grep -R?
Grep est en effet un utilitaire shell de terminal Linux / Unix qui recherche dans un document une séquence de caractères. Une expression régulière semble être le terme pour le modèle textuel à rechercher. Il affiche la ligne avec le résultat lorsqu'il détecte la même correspondance. En parcourant d'énormes fichiers journaux, la requête grep entre en jeu. Ainsi, grep -R a été utilisé pour exclure des répertoires lors de l'utilisation de certains mots-clés. Discutons de grep -R dans ce tutoriel étape par étape.

Conditions préalables:

Indiquez clairement que toute distribution de Linux est installée et configurée. Nous utilisons Ubuntu 20.04 Système Linux pour implémenter ce sujet. D'un autre côté, vous devez également avoir les droits d'utilisateur root. Ouvrez votre terminal de commande pour commencer à travailler.

Exemple 01 :

Lorsque vous ouvrez le terminal de commande, vous êtes actuellement sur Ubuntu 20.04 Répertoire d'accueil du système Linux. Naviguons jusqu'à un répertoire Documents. Pour cela, vous devez utiliser la commande "cd" indiquée ci-dessous dans le shell de commande pour le faire, ainsi qu'un chemin de répertoire.

$ cd ~/Documents

Vous êtes maintenant dans le répertoire Documents de votre système Linux. Créons trois nouveaux fichiers dans le répertoire Documents. Pour créer de nouveaux fichiers de type texte, essayez la commande tactile ci-dessous dans le shell, suivie du nom d'un nouveau fichier. Vous pouvez voir que nous avons créé trois fichiers nommés "un.txt", "nouveau.txt" et "tester.SMS."

$ toucher un.SMS
$ toucher nouveau.SMS
$ test tactile.SMS

Vous devez ajouter des données textuelles ou des informations dans chaque fichier séparément, comme vous pouvez le voir dans les images ci-dessous. Maintenant, enregistrez tous les fichiers et fermez.

Revenez maintenant au terminal et répertoriez tous les fichiers et dossiers répertoriés dans le répertoire Documents. Exécutez la simple commande "ls" pour le faire comme ci-dessous. Vous aurez une sortie de tous les fichiers et dossiers contenus dans le répertoire Documents. Vous pouvez voir que les fichiers texte nouvellement créés et mis à jour sont également là.

$ ls

C'est maintenant à notre tour d'essayer une commande grep -R sur le répertoire Documents et ses fichiers ou dossiers. Nous utiliserons la commande grep -R pour exclure les répertoires tout en utilisant un mot-clé ou un mot unique. Nous aurons une commande qui recherchera ce mot particulier dans tous les fichiers résidant dans le dossier Documents, à l'exception d'un répertoire, qui a été donné à exclure dans la commande. Nous allons donc exclure le répertoire « Wao » actuellement présent dans le répertoire Documents. Alors, essayez la commande grep ci-dessous pour exclure le répertoire "Wao" avec le drapeau -R, qui a été utilisé pour la fonction récursive, et "Aqsa" a été utilisé comme mot-clé à rechercher dans les fichiers. La sortie dans l'instantané ci-dessous montre le texte de deux fichiers, "test.txt" et "nouveau.txt", ayant le texte "Aqsa" dans leurs données et le répertoire "Wao" n'a pas été vérifié en raison d'une exclusion dans la commande. Cependant, le répertoire "Wao" contient également des fichiers texte qu'il est préférable d'éviter de vérifier.

$ grep -exclude-dir « Wao » -R « Aqsa »

Regardons les deux fichiers. Essayez la commande cat pour voir le fichier « nouveau.txt" contient le mot-clé "Aqsa."

$ chat nouveau.SMS

L'autre fichier, "test.txt », contenant le mot-clé « Aqsa », a été affiché à l'aide de la commande cat ci-dessous.

$ test de chat.SMS

Excluons maintenant le même répertoire "Wao" du dossier Documents en utilisant un autre mot-clé, "courageux", s'il se trouve dans des fichiers. Alors, essayez la commande grep ci-dessous pour exclure le répertoire comme ci-dessous. L'image de sortie montre les deux sorties correspondantes pour le mot-clé « brave » dans deux fichiers, « test.txt" et "un.SMS."

$ grep -exclude-dir "Documents/Wao" -R "courageux."

Vous pouvez voir le fichier "un.txt" contient le mot-clé "courageux" en utilisant la commande cat.

$ chat un.SMS

La sortie ci-dessous montre le fichier "test.txt", qui contient le mot-clé "courageux" avec l'utilisation de l'instruction cat.

$ test de chat.SMS

Exemple 02 :

Passons au sous-répertoire "Wao" du dossier Documents en utilisant la commande "cd" dans le shell.

$ cd ~/Documents/Wao

Créons trois nouveaux fichiers, "bin.txt », « avait.txt" et "sec.txt" dans le répertoire "Wao" tout en utilisant la commande tactile ci-dessous. Ajoutez des données texte dans tous les fichiers, enregistrez puis fermez-les.

$ bac tactile.SMS
$ touch avait.SMS
$ toucher sec.SMS

Listons tous les répertoires en utilisant la commande "ls" comme ci-dessous. Vous y trouverez les trois fichiers nouvellement créés.

$ ls -a

Essayons la même instruction grep dans votre terminal de commande pour exclure le répertoire "Wao" tout en utilisant un autre mot-clé "I" comme correspondance comme ci-dessous.

$ grep -exclude-dir "Documents/Wao/" -R "I"

Maintenant, la sortie de cette commande affiche le mot-clé "I" dans les fichiers contenus dans le dossier Documents tandis que le répertoire "Wao" a été ignoré à l'aide du mot-clé "exclude-dir".

Excluons maintenant le même répertoire "Wao" en utilisant un autre mot-clé, "rimsha", de la commande grep indiquée ci-dessous dans le terminal. Le snap de sortie n'affiche aucune sortie car le mot-clé "Rimsha" n'a été trouvé dans aucun des fichiers situés dans le dossier Documents.

$ grep -exclude-dir "Documents/Wao" -R "rimsha"

Exemple 03 :

Naviguons d'abord dans le dossier Documents en utilisant la commande "cd" comme ci-dessous.

$ cd ~/Documents

Listons tous les fichiers et dossiers du répertoire Documents à l'aide de la commande 'ls' ci-dessous. La sortie affiche du texte et d'autres fichiers avec un sous-répertoire, "Wao."

$ ls

Utilisons la même commande grep pour exclure le répertoire "Wao" de ce dossier en utilisant le mot-clé "Aqsa" dans un drapeau. La sortie montre les quatre fichiers texte ayant le mot "Aqsa" dans leur texte tandis que le répertoire "Wao" a été évité et non vérifié.

$ grep -exclude-dir « Wao » -R « Aqsa »

Conclusion:

Utiliser Ubuntu 20.04, nous comprenons déjà comment et quand utiliser la commande grep -R. La commande grep est extrêmement polyvalente et permet de localiser le texte intégré dans des centaines de documents.

Meilleurs jeux de ligne de commande pour Linux
La ligne de commande n'est pas seulement votre plus grand allié lorsque vous utilisez Linux, elle peut également être une source de divertissement car...
Meilleures applications de mappage de manette de jeu pour Linux
Si vous aimez jouer à des jeux sur Linux avec une manette de jeu au lieu d'un système de saisie clavier et souris typique, il existe des applications ...
Outils utiles pour les joueurs Linux
Si vous aimez jouer à des jeux sur Linux, il est probable que vous ayez utilisé des applications et des utilitaires comme Wine, Lutris et OBS Studio p...