Grep a été largement utilisé dans les systèmes Linux lorsqu'il travaille sur certains fichiers, à la recherche d'un modèle spécifique, et bien d'autres. Cette fois, nous utilisons la commande grep pour afficher les lignes avant et après le mot clé correspondant utilisé dans un fichier spécifique. À cette fin, nous utiliserons le drapeau «-a», «-b» et, «-c» tout au long de notre guide de tutoriel. Donc, vous devez effectuer chaque étape pour une meilleure compréhension. Assurez-vous que vous avez Ubuntu 20.04 Système Linux installé.
Tout d'abord, vous devez ouvrir votre terminal de ligne de commande Linux pour commencer à travailler sur Grep. Vous êtes actuellement au répertoire domestique de votre système Ubuntu juste après l'ouverture du terminal de ligne de commande. Alors, essayez d'énumérer tous les fichiers et dossiers du répertoire personnel de votre système Linux à l'aide de la commande LS ci-dessous, et vous obtiendrez tout. Vous pouvez voir, nous avons des fichiers texte et des dossiers répertoriés dans.
LS
Exemple 01: en utilisant '-a' et '-b'
À partir des fichiers texte ci-dessus, nous allons jeter un œil à certains d'entre eux et essayer d'appliquer la commande grep sur eux. Ouvrirons le fichier texte «Un.txt ”en utilisant d'abord la commande populaire« chat »comme en dessous:
$ Cat One.SMS
Nous verrons d'abord quelques correspondances de mots spécifiques dans ce fichier texte en utilisant la commande grep comme ci-dessous. Nous recherchons le mot «nous» dans le fichier texte «un.txt ”en utilisant l'instruction grep. La sortie montre deux lignes du fichier texte ayant «nous» en eux.
$ grep we one.SMS
Ainsi, dans cet exemple, nous afficherons les lignes avant et après la correspondance de mot spécifique dans certains fichiers texte. Donc, en utilisant le même fichier texte «un.txt ”Nous avons assorti le mot« nous »tout en affichant les 3 lignes avant celle-ci ci-dessous. Le drapeau «-b» représente «avant». La sortie ne montre que 2 lignes avant la ligne de mot spécifique car le fichier n'a pas plus de lignes avant la ligne d'un mot spécifique. Il montre également ces lignes ayant ce mot spécifique présent en eux.
$ grep -b 3 nous un.SMS
Utilisons le même mot clé «nous» de ce fichier pour afficher les 3 lignes après la ligne qui ont le mot «nous». Le drapeau «-a» présente «After». La sortie affiche à nouveau seulement 2 lignes car elle n'a pas plus de lignes dans le fichier.
$ grep -a 3 nous un.SMS
Alors, utilisons un nouveau mot-clé à égaler et affichez les lignes ou les lignes avant et après la ligne dans laquelle il se trouve. Nous avons donc utilisé le mot «can» à faire correspondre. Les numéros de ligne sont les mêmes dans ce cas. Les 3 lignes après le mot adapté «Can» ont été affichés ci-dessous à l'aide de la commande grep.
$ grep -a 3 peut un.SMS
Vous pouvez voir que la sortie montre avant les lignes d'un mot adapté en utilisant le mot-clé «Can». En revanche, il ne montre que deux lignes avant la ligne du mot apparié car il n'y a plus de lignes avant elle.
$ grep -b 3 peut un.SMS
Exemple 02: en utilisant '-a' et '-b'
Prenons un autre fichier texte: «Deux.txt », à partir du répertoire domestique et afficher son contenu en utilisant la commande« Cat »ci-dessous.
$ Cat deux.SMS
Affichons 5 lignes avant le mot «le plus» du fichier «deux.txt ”en utilisant la commande grep. La sortie affiche 5 lignes avant que la ligne ne contienne un mot spécifique.
$ grep -b 5 la plupart des deux.SMS
La commande grep affiche les 5 lignes après le mot «le plus» du fichier texte «Two.txt »a été donné ci-dessous.
$ grep -a 5 la plupart des deux.SMS
Changeons le mot-clé à rechercher. Nous utiliserons «OF» comme mot-clé à égaler cette fois. Affichez les 2 lignes avant le mot «de» à partir du fichier texte «Two.txt »peut être fait en utilisant la commande grep ci-dessous. La sortie montre deux lignes pour le mot clé «de» car il vient deux fois dans le fichier. Ainsi, la sortie contient plus de 2 lignes.
$ grep -b 2 des deux.SMS
Affichage maintenant les 2 lignes de fichier «Deux.txt "après la ligne qui contient le mot clé" de "peut être effectué en utilisant la commande ci-dessous. La sortie affiche à nouveau plus de 2 lignes.
$ grep -a 2 des deux.SMS
Exemple 03: Utilisation de '-c'
Un autre drapeau, «-c» a été utilisé pour afficher les lignes avant et après le mot adapté. Affichons le contenu du fichier «un.txt ”en utilisant la commande CAT.
$ Cat One.SMS
Nous choisissons la «société» comme mot-clé à adapter. La commande grep ci-dessous affichera les 2 lignes avant et 2 lignes après la ligne qui contient le mot «société». La sortie montre une ligne avant la ligne de mot spécifique et 2 lignes après elle.
$ grep -C 2 Society One.SMS
Voyons le contenu du fichier «deux.txt ”en utilisant la commande ci-dessous CAT.
$ Cat deux.SMS
Dans cette illustration, nous utilisons des «poèmes» comme mot-clé pour correspondre. Alors, exécutez la commande ci-dessous pour cela. La sortie montre deux lignes avant et deux lignes après le mot adapté.
$ grep -c 2 poèmes deux.SMS
Utilisons un autre mot clé du fichier «deux.txt ”à faire correspondre. Nous consommons la «nature» comme mot clé cette fois. Alors, essayez la commande ci-dessous tout en utilisant «-c» comme indicateur ayant le mot-clé «nature» du fichier «deux.SMS". Cette fois, la sortie a plus de deux lignes dans la sortie. Comme le fichier contient le mot «nature» plus d'une fois, c'est la raison derrière elle. Le mot-clé «nature», qui vient en premier, a deux lignes avant et deux lignes après elle. Alors que le second correspondait au même mot clé, «Nature» a deux lignes avant elle, mais il n'y a pas de lignes après elle car elle est à la dernière ligne du fichier.
$ grep -c 2 poèmes deux.SMS
Conclusion
Nous réussissons à afficher les lignes avant et après le mot spécifique tout en utilisant l'instruction GREP.