Duplicate possible:
grep un fichier, mais montre plusieurs lignes adjacentes?
Je dois analyser un très gros fichier et utiliser la commande grep (ou tout autre outil).
Je souhaite rechercher le mot FAILED
dans chaque ligne du journal, puis imprimer la ligne située au-dessus et au-dessous de chaque ligne correspondante ainsi que la ligne correspondante.
id : 15
Satus : SUCCESS
Message : no problem
id : 15
Satus : FAILED
Message : connection error
Et j'ai besoin d'imprimer:
id : 15
Satus : FAILED
Message : connection error
l'option -A 1
de grep vous donnera une ligne après; -B 1
vous donnera une ligne avant; et -C 1
combine les deux pour vous donner une ligne à la fois avant et après, -1
fait la même chose.
Utiliser les options -B, -A ou -C
grep --help
...
-B, --before-context=NUM print NUM lines of leading context
-A, --after-context=NUM print NUM lines of trailing context
-C, --context=NUM print NUM lines of output context
-NUM same as --context=NUM
...
Utilisez les commutateurs -A et -B (moyenne des lignes après et des lignes avant):
grep -A 1 -B 1 FAILED file.txt