Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sortir un message du mail root

5 réponses
Avatar
Ozzii
Bonjour,

j'aimerais "sortir" un message sp=E9cifique du mail de root.
J'ai fait des tests mais j'ai un peut de mal avec la lecture du
fichier en arri=E8re.

Donc ce qu'il me faudrais c'est:
-Je recherche mon mot cl=E9, disont "ERROR"
-Je r=E9cup=E8re le num=E9ro de ligne de la premi=E8re ligne au dessus qui
contient le mot "Date"
-Je r=E9cup=E8re le num=E9ro de ligne de la premi=E8re ligne en dessous qui
contient "From root"

Apr=E8s je peut faire mon : sed -n "${NBRAVANT},${NBRAPRES}p" /var/mail/
root

Merci par avance.

5 réponses

Avatar
Nicolas George
Ozzii , dans le message
, a
écrit :
j'aimerais "sortir" un message spécifique du mail de root.



Ça veut dire quoi ?
Avatar
Stephane CHAZELAS
2011-07-11, 02:12(-07), Ozzii:
Bonjour,

j'aimerais "sortir" un message spécifique du mail de root.
J'ai fait des tests mais j'ai un peut de mal avec la lecture du
fichier en arrière.

Donc ce qu'il me faudrais c'est:
-Je recherche mon mot clé, disont "ERROR"
-Je récupère le numéro de ligne de la première ligne au dessus qui
contient le mot "Date"
-Je récupère le numéro de ligne de la première ligne en dessous qui
contient "From root"

Après je peut faire mon : sed -n "${NBRAVANT},${NBRAPRES}p" /var/mail/
root


[...]

formail -s perl -0777 -ne 'print if /ERROR/'

--
Stephane
Avatar
LENHOF Jean-Yves
Le 11/07/2011 11:12, Ozzii a écrit :
Bonjour,

j'aimerais "sortir" un message spécifique du mail de root.
J'ai fait des tests mais j'ai un peut de mal avec la lecture du
fichier en arrière.

Donc ce qu'il me faudrais c'est:
-Je recherche mon mot clé, disont "ERROR"
-Je récupère le numéro de ligne de la première ligne au dessus qui
contient le mot "Date"
-Je récupère le numéro de ligne de la première ligne en dessous qui
contient "From root"

Après je peut faire mon : sed -n "${NBRAVANT},${NBRAPRES}p" /var/mail/
root

Merci par avance.



grepmail ?

Description-fr: Recherche dans des boîtes de courriers une
correspondance d'expression
Grepmail recherche les courriels contenant un motif et affiche le message
résultant. L'utilisation est très similaire à grep. Il peut traiter les
fichiers de boîtes aux lettres compressés et peut chercher dans l'en-tête
et le corps des courriels. Il supporte aussi les recherches par date et
taille.
Homepage: http://grepmail.sourceforge.net/
Avatar
Stephane CHAZELAS
2011-07-11, 02:12(-07), Ozzii:
Bonjour,

j'aimerais "sortir" un message spécifique du mail de root.
J'ai fait des tests mais j'ai un peut de mal avec la lecture du
fichier en arrière.

Donc ce qu'il me faudrais c'est:
-Je recherche mon mot clé, disont "ERROR"
-Je récupère le numéro de ligne de la première ligne au dessus qui
contient le mot "Date"
-Je récupère le numéro de ligne de la première ligne en dessous qui
contient "From root"

Après je peut faire mon : sed -n "${NBRAVANT},${NBRAPRES}p" /var/mail/
root


[...]

command -p awk '
function check() {
if (message ~ /ERROR/) printf "%s", message
}
/^From /{check(); message=""}
{message = message $0 ORS}
END {check()}'

--
Stephane
Avatar
Marc Boyer
Le 11-07-2011, Ozzii a écrit :
Bonjour,

j'aimerais "sortir" un message spécifique du mail de root.
J'ai fait des tests mais j'ai un peut de mal avec la lecture du
fichier en arrière.

Donc ce qu'il me faudrais c'est:
-Je recherche mon mot clé, disont "ERROR"
-Je récupère le numéro de ligne de la première ligne au dessus qui
contient le mot "Date"
-Je récupère le numéro de ligne de la première ligne en dessous qui
contient "From root"



Ca répond pas exactement à la question, mais ça doit être pas mal:
awk 'BEGIN { RS="From " } /ERROR/{ print $0 }' |
grep -e 'Date:' -e 'From:' -e ERROR

Marc Boyer
--
À mesure que les inégalités regressent, les attentes se renforcent.
François Dubet