grep

Comment utiliser Grep de manière récursive?

Comment utiliser Grep de manière récursive?

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 à partir des 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 pris de la page de manuel de grep.

$ Homme grep

-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 considéré. 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

Grep  -R  "motif"  /chemin/

« Chemin » est un « chemin d'accès au répertoire ». Et le motif 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. Considérant que "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.

$ grep  -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.

$ grep -r polyvalent /home/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 « maison » doit être recherché de manière récursive à l'aide de l'instruction grep.

$ grep -r « maison » *

Il montre 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 sous le répertoire donné.

$ grep -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.

$ grep -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.

$ grep  -r  épouse

Le mot « femme » est recherché dans tous les répertoires automatiquement 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é, je.e., 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 plusieurs modèles 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 en ajoutant un répertoire dans la commande. La sortie contient le nom du répertoire du fichier et le nom du fichier. De plus, le texte à l'intérieur du fichier est affiché.

$ grep -rw '/home/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 y a une probabilité de l'existence de mots dans différents fichiers, comme indiqué dans la sortie.

Grep en utilisant récursivement - -Include

"-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, ni 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.

$ grep -r - -include="*txt" "soeur" /home/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 considéré par défaut.

Remappez les boutons de votre souris différemment pour différents logiciels avec X-Mouse Button Control
Peut-être que vous avez besoin d'un outil qui pourrait faire changer le contrôle de votre souris avec chaque application que vous utilisez. Si tel est...
Examen de la souris sans fil Microsoft Sculpt Touch
J'ai lu récemment sur le Microsoft Sculpt Touch souris sans fil et j'ai décidé de l'acheter. Après l'avoir utilisé pendant un certain temps, j'ai déci...
Trackpad et pointeur de souris à l'écran AppyMouse pour tablettes Windows
Les utilisateurs de tablettes ratent souvent le pointeur de la souris, surtout lorsqu'ils ont l'habitude d'utiliser les ordinateurs portables. Les sma...