Linux de recherche de mot et de montrer toute la ligne
J'ai un très gros fichier journal (6 go).
Je veux de la recherche pour "Nov 12 2012" et à imprimer pour chaque ligne.
Je suis un linux novice et n'ai aucune idée de comment c'est fait. La plupart probablement besoin d'une plus option pour afficher X le nombre de lignes et aller de l'avant à travers la recherche.
Vous devez vous connecter pour publier un commentaire.
Qui vais vous montrer chaque ligne qui contient la date de votre texte, ainsi que 10 lignes de texte AVANT la ligne qui correspond, et 5 lignes APRÈS la ligne qui correspond.
grep --after-context=5 --before-context=10 'Nov 12 2012' yourfile.log | tail -n 80
d'afficher uniquement les 5 derniers événements, y compris: les 10 lignes avant et après 5. 5*(1+10+5)=80Vous pouvez utiliser
grep
pour afficher les lignes etless
comme un pager:De Type "espace" à la fin de chaque page pour passer à l'écran suivant de résultats.
Vous pouvez utiliser
grep
comme suit:Quelques explications:
grep
est le nom de la commande ou de l'outil utilisé pour la recherche de motifs'Nov 12 2012'
: immédiatement aprèsgrep
et séparés par au moins 1 espace, vous spécifiez le modèle que vous souhaitez rechercherfile_to_search.log
: comme le dernier argument degrep
ici, vous spécifiez le fichier(s) que vous souhaitez rechercher> search_results.log
: Le>
désigne la sortie la redirection. Ici, il signifie "écrire la sortie de cette commande dans un fichier appelésearch_results.log
. Si le fichier existe déjà, l'écraser complètement.Après la sortie, vous pouvez afficher les résultats avec un éditeur de texte de votre choix, ou avec
less
, afin d'utiliser l'un quelconque des éléments suivants:Ouvrir le fichier dans un format de script, puis une recherche avec le mot auquel vous souhaitez trouver comme suit.
C'est un bon moyen pour repérer les erreurs au grand journal de fichiers : grep --après-context=5 --avant-contexte=10 'Erreur' monfichier.journal ou grep --après-context=5 --avant-contexte=10 'Exception' monfichier.journal
grep
grep-A 5 -B 10 '12 Nov 2012' monfichier.journal
-Un n de n de ligne et APRÈS -B n pour n lignes Avant.
Ou les deux ensemble - C n je.e n de ligne Avant et Après le texte recherché.