Afficher les lignes avant et après le match via Grep

Afficher les lignes avant et après le match via Grep

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.