Comment utiliser Grep de manière récursive ?

How Use Grep Recursively



La commande Grep est utilisée pour rechercher du texte dans des fichiers. C'est un modèle polyvalent qui invoque grep avec -r. L'option –R recherche les fichiers de manière récursive dans les sous-répertoires, à partir du répertoire courant. La commande est exécutée à partir du répertoire de niveau supérieur. Par exemple /home/abc etc. Grep est un outil permettant d'obtenir des dépendances lors du passage d'un hôte à un autre. Si nous ne mentionnons pas de répertoire dans la commande, grep recherchera le répertoire de travail actuel. Pour exécuter grep récursivement, il y a trois arguments que nous avons tirés de la page de manuel de grep.

$Hommesaisir







–include est utilisé pour une correspondance exacte dans le fichier qui peut être des fichiers présents dans le répertoire, ou par défaut. –r implique le nom du répertoire, comme décrit précédemment, si aucun chemin n'est défini dans la commande, le répertoire courant est pris en compte. Il ne suit qu'un lien symbolique. –R est assez différent de –r car il lit tous les fichiers, pas seulement ceux définis symboliquement.



Syntaxe

Grip – Motif R/chemin/

Path est un chemin de répertoire. Et le modèle est un mot ou une chaîne que vous souhaitez rechercher.



Prérequis

Pour comprendre la fonction récursive grep, vous devez disposer du système d'exploitation Linux. Après l'installation, vous configurerez Linux en fournissant un nom d'utilisateur et un mot de passe. Après cela, vous obtiendrez des privilèges pour accéder à toutes les applications de ce système d'exploitation.





Tous les fichiers sous Linux

Cette commande vous aidera à rechercher tous les noms de fichiers dans les répertoires de votre système. Comme –l fonctionne en fournissant uniquement les noms de fichiers, –r aidera à rechercher symboliquement partout où le mot requis est présent, viendra en sortie. Alors qu'Aqsa est le mot que nous voulons rechercher. Cette commande est sans chemin d'accès au répertoire car ici, nous voulons tous les noms de fichiers possibles dans le système. Si nous avons fourni un chemin, le processus de recherche aura des limites.

$saisir–r –l aqsa



Exemple simple

Pour comprendre le dilemme de la récursivité à l'aide du chemin, nous avons introduit un exemple simple pour guider l'utilisateur. Comme indiqué dans la commande ci-dessous, polyvalent est un mot que nous voulons rechercher. Après le mot, il y a un répertoire dans lequel on souhaite trier. Il montre à la fois le nom du fichier avec le répertoire et le texte entier à l'intérieur du fichier. –r affiche également les fichiers binaires.

$saisir–r polyvalent/domicile/aqsayasin

Recherche récursive dans tous les répertoires et sous-répertoires

Comme nous connaissons tous la fonctionnalité de * dans le système de recherche. Cela implique un tri dans tous les fichiers. Ainsi, la commande affichera les données respectives de tous les fichiers. Le mot de maison doit être recherché de manière récursive à l'aide de l'instruction grep.

$saisir–r maison*

Il affiche les noms de fichiers et le texte à l'intérieur en mettant en surbrillance le mot recherché, indiquant qu'une correspondance existe. Un seul fichier texte contenait ce mot, qui est affiché dans la ligne résultante.

Grep récursivement pour une chaîne

Contrairement aux exemples ci-dessus, grep fonctionne sur une chaîne dans le répertoire spécifique. /etc/ est le répertoire de commandes qui signifie que la recherche se fera via ce répertoire, l'adresse IP d'un ordinateur. Ses informations sont enregistrées dans le répertoire, ayant des noms de fichiers présents dans le répertoire /etc/ppp/. L'option est le nom d'un dossier particulier. Cette commande lira tous les fichiers du répertoire donné.

$saisir–r 192.168.1.5/etc/

Les noms de fichier dans la sortie peuvent être supprimés à l'aide de l'option –h. La commande est la suivante.

$saisir -h -R '192.168.1.5' /etc/

Les deux séparateurs peuvent être écrits comme -h -R dans une commande.

Recherche récursive sans répertoire

La recherche récursive peut également être effectuée sans utiliser de répertoire en recherchant simplement un mot avec un seul mot.

$saisir-r femme

Le mot épouse est recherché automatiquement dans tous les répertoires car lorsqu'aucun répertoire n'est mentionné, le processus de recherche se poursuivra dans tous les fichiers et répertoires du système. Il comprendra également des fichiers binaires avec les fichiers texte. L'adresse de fichier et les noms de fichier sont affichés en premier. Alors que le texte à l'intérieur du fichier est affiché. Non seulement le texte brut, mais aussi la commande grep appliquée sur le texte du fichier est affiché, c'est-à-dire grep 'Je suis une femme au foyer'.

Grep Exact Multiple Patterns

La recherche de plusieurs méthodes est également une fonctionnalité obtenue via la commande grep. -rw est utilisé pour explorer la correspondance particulière. -e est utilisé pour ajouter plus d'un motif dans la commande. Le chemin du répertoire est mentionné pour faciliter la recherche du système. Les fichiers binaires sont exclus car la limite est introduite dans l'ajout d'un répertoire dans la commande. La sortie contient le nom du répertoire de fichiers et le nom du fichier. En outre, le texte à l'intérieur du fichier est affiché.

$saisir-rw'/domicile/aqsayasin/'

Les mots recherchés sont mis en évidence dans le texte du fichier. Les deux termes recherchés doivent être présents dans un seul fichier. Il existe une probabilité de l'existence de mots dans différents fichiers, comme indiqué dans la sortie.

Grep en utilisant récursivement - -Inclure

—include correspond au modèle de fichier donné et fonctionne efficacement car il accélère également le processus de recherche, qui fonctionne avec la plupart des fichiers. Ici, il n'apporte pas de fichiers binaires ou compilés, ou d'images. L'extension de fichier est utilisée pour ajouter des limitations à la commande. Le répertoire est mentionné pour apporter la sortie requise. Le mot-clé inclus est assez avancé dans grep par rapport aux autres fonctionnalités.

$saisir-r --comprendre=*txt soeur/domicile/aqsayasin

Conclusion

Dans cet article, nous avons expliqué chaque exemple pour démontrer l'utilisation de la fonction récursive grep. Une fonction récursive permet de rechercher avec des limitations et précisément dans tous les répertoires du système. Si un répertoire n'est pas présent, le répertoire courant est pris en compte par défaut.