olivthill a écrit :
C'est faisable avec un petit awk, qui ressemblera à ceci (non testé) :
awk 'BEGIN {
memo_ligne_fichier = ""
memo_begin = ""
}
{
if ($0 == "processed : 0" ) {
print memo_ligne_fichier
print memo_begin
print
}
else {
if ($1 == "Fichier" ) {
memo_ligne_fichier = $0
}
else {
if ($1 == "Begin" ) {
memo_begin = $0
}
}
}
} ' le_fichier_de_log.txt |
|
Merci olivthill ça marche
aigles a écrit :
Si tu as la version GNU de grep, tu peux aussi faire :
grep -B2 -A1 'processed : 0' input_file |
Jean-Pierre.
|
OS = HP-UX, les options B2 et A1 n'existent pas !
Sve@r a écrit :
Comme tu le vois dans les réponses, t'as plein d'outils qui te permettent de créer le résultat attendu.
Ton truc est trop spécifique pour qu'une commande toute faite puisse faire ça. Mais Unix t'offre un tas d'outils de manipulation de fichiers qui te permettent, en les combinant comme il faut, d'atteindre n'importe quel résultat à partir de n'importe quelle donnée.
|
Effectivement, je vais essayer de trouver une autre solution aved : sed
Merci encore