web-dev-qa-db-fra.com

Recherche Linux pour Word et affiche toute la ligne

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.

29
Vibration Of Life
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.

69
Marc B

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.

13
larsks

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 rechercher
  • file_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
6
sampson-chen

Ouvrez le fichier dans un format de script, puis recherchez le mot-clé que vous souhaitez trouver comme suit.

$vi <logfilename>
     &
:/search
3
Raju K

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

1
Arnon Rodman

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é.

0
Mandrake