J'ai un très gros fichier journal (6 Go).
Je veux rechercher 'Nov 12 2012' et imprimer chaque ligne.
Je suis novice sur Linux et je ne sais pas du tout comment cela se passe. La plupart du temps, il faudra probablement une option supplémentaire pour afficher un nombre X de lignes et avancer dans la recherche.
grep --after-context=5 --before-context=10 'Nov 12 2012' yourfile.log
Cela affichera chaque ligne contenant votre texte de date, ainsi que 10 lignes de texte AVANT la ligne correspondante et 5 lignes APRÈS la ligne correspondante.
Vous pouvez utiliser grep
pour afficher les lignes correspondantes et less
en tant que pageur:
grep 'Nov 12 2012' /path/to/logfile | less
Tapez 'espace' à la fin de chaque page pour passer à l'écran suivant des résultats.
Vous pouvez utiliser grep
comme suit:
grep 'Nov 12 2012' file_to_search.log > search_results.log
Quelques explications:
grep
est le nom de la commande/de l’outil utilisé pour rechercher des modèles'Nov 12 2012'
: immédiatement après grep
et séparés par au moins 1 espace, vous spécifiez le modèle que vous souhaitez rechercherfile_to_search.log
: comme dernier argument de grep
ici, vous spécifiez le (s) fichier (s) que vous voulez rechercher> search_results.log
: le >
signifie sortie redirection . Ici, cela signifie "écrivez le résultat de cette commande dans un fichier appelé search_results.log
. Si le fichier existe déjà, écrasez-le complètement. Une fois la sortie obtenue, vous pouvez afficher les résultats avec l’éditeur de texte de votre choix ou avec less
. Vous devez donc utiliser l’un des éléments suivants:
less search_results.log
gedit search_results.log
emacs search_results.log
vim search_results.log
Ouvrez le fichier dans un format de script, puis recherchez le mot-clé que vous souhaitez trouver comme suit.
$vi <logfilename>
&
:/search
C'est un bon moyen de localiser les erreurs dans les gros fichiers journaux: grep --after-context = 5 --before-context = 10 'Erreur' votrefichier.log ou grep --after-context = 5 --before-context = 10 "Exception" votrefichier.log
grep -A 5 -B 10 '12 novembre 2012' votrefichier.log
- A n pour n ligne APRES et -B n pour n lignes Avant ..__ ou pour les deux ensemble - C n i.e n ligne Après et avant le texte recherché.