Comment trouver la dernière occurrence d'une chaîne dans le fichier Linux

Comment trouver la dernière occurrence d'une chaîne dans le fichier Linux

Dans Linux, nous travaillons constamment avec des fichiers de chaîne et de texte; Que ce soit en travaillant avec des fichiers journaux ou des documents, la manipulation du texte est un processus que nous ne pouvons pas échapper.

Ce guide vous montrera comment localiser la dernière occurrence d'une chaîne dans un fichier dans Linux. Linux a de nombreux outils qui peuvent aider à effectuer des tâches. Cependant, pour simplifier, nous nous en tiendrons aux outils facilement disponibles dans toutes les grandes distributions Linux.

Méthode 1: Utilisation du grep

L'impression d'expression régulière globale, connue sous le nom de Grep, est un outil de manipulation de texte populaire et puissant.

Il fonctionne en acceptant les entrées d'une entrée standard ou d'un fichier et recherche un modèle spécifié. Une fois que Grep trouve le modèle spécifié, il imprime le résultat à la sortie standard. Le motif spécifié peut être une seule chaîne ou un regex complexe.

Supposons que nous ayons le fichier Auth.log (/ var / log / auth.enregistrer). Pour trouver la dernière occurrence d'une chaîne (uid = 0), nous pouvons utiliser la commande:

$ sudo grep "uid = 0".Journal | queue -1

La sortie sera comme indiqué ci-dessous:

La commande est relativement simple. Nous commençons par trouver la chaîne dont nous avons besoin en utilisant grep. Ensuite, Grep énumérera toutes les occurrences de chaîne, et enfin, nous tumons la sortie à la queue et localisons la dernière ligne de la sortie.

Vous pouvez modifier la commande ci-dessus pour obtenir les cinq dernières occupations de la chaîne comme:

$ sudo grep "uid = 0".Journal | queue -5

Méthode 2: awk

Awk est un autre langage de manipulation de chaîne populaire. AWK est très puissant car il offre des fonctionnalités incroyables par rapport à d'autres programmes de manipulation de texte.

Pour trouver une chaîne similaire à celle ci-dessus, nous pouvons utiliser une commande comme:

$ sudo awk '/ uid = 0 / flag = 1; drapeau '| queue -1

De même, cela montrera la dernière occurrence de la chaîne comme:

Conclusion

C'est tout pour celui-ci. Dans ce tutoriel rapide, nous avons discuté de deux méthodes principales pour trouver la dernière occurrence d'une chaîne à l'aide de grep et awk.