Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Unix
Unix Forum d'entraide sur les systèmes Unix et dérivés (*BSD, AIX, etc.). Avant de poster ->F.A.Q BSD F.A.Q. Aix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/02/2012, 18h06   #1
Membre du Club
 
Avatar de theclem35
 
Homme Clément
Technicien Réseaux & Télécommunications
Inscription : décembre 2007
Messages : 148
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France, Vendée (Pays de la Loire)

Informations professionnelles :
Activité : Technicien Réseaux & Télécommunications
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : décembre 2007
Messages : 148
Points : 49
Points : 49
Par défaut Afficher les lignes contenues entre deux chaines (blocs multiples) avec sed, awk ou grep

Salut,

Je cherche à extraire des blocs de lignes se trouvant entre deux occurences.
J'arrive bien à extraire un bloc, mais un seul.

Exemple avec monfichier.txt :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
debut_sect
texte L1
texte L2
texte L3
texte L4
fin_sect

donnees inutiles 1
donnees inutiles 2

debut_sect
texte L5
texte L6
texte L7
texte L8
fin_sect
Le résultat attendu est :
Code :
1
2
3
4
5
6
7
8
texte L1
texte L2
texte L3
texte L4
texte L5
texte L6
texte L7
texte L8
Avec cette commande : sed -e '1,/debut_sect/d' -e '/fin_sect/,$d' monfichier.txt

Cela m'affiche seulement :
Code :
1
2
3
4
texte L5
texte L6
texte L7
texte L8
Merci pour votre aide !
theclem35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 18h13   #2
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Salut,

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$ cat plop 
debut_sect
texte L1
texte L2
texte L3
texte L4
fin_sect

donnees inutiles 1
donnees inutiles 2

debut_sect
texte L5
texte L6
texte L7
texte L8
fin_sect

$ sed -n '/debut_sect/,/fin_sect/{//d;p}' plop 
texte L1
texte L2
texte L3
texte L4
texte L5
texte L6
texte L7
texte L8

$
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 19h47   #3
Membre du Club
 
Avatar de theclem35
 
Homme Clément
Technicien Réseaux & Télécommunications
Inscription : décembre 2007
Messages : 148
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France, Vendée (Pays de la Loire)

Informations professionnelles :
Activité : Technicien Réseaux & Télécommunications
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : décembre 2007
Messages : 148
Points : 49
Points : 49
Quelle puissance

Merci pour cette contribution qui m'aide grandement.
Le but de mon script est d'extraire est de mettre en forme le contenu d'un message imf (mail) capturé avec tshark (utilitaire wireshark en ligne de commande).

A l'heure actuelle, la commande ressemble donc à ceci :
Code :
cat imf.txt | sed -ne '/Address:/p' -ne '/^ *Subject:/p' -ne '/Line-based text data: text\/plain/,/Boundary: \\r\\n------=_NextPart/{//d;p}' | sed -e 's/\\r\\n//g' -e 's/^[ \t]*//' -ne '$a\\n\n--------------------FIN DU MAIL ------------------\n\n'
Ce qui m'affiche :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Address: clement.bonnal@iut-reseaux-telecoms.fr
Address: destinataire@iut-reseaux-telecoms.fr
Subject: Re: petit mail
Ceci est le corps du message

----- Original Message -----=20
From: Cl=E9ment BONNAL=20
To: destinataire=20
Sent: Thursday, February 02, 2012 3:36 PM
Subject: Re: petit mail
Subject: Re: petit mail

Ancien message

Address: clement.bonnal@iut-reseaux-telecoms.fr
Address: destinataire@iut-reseaux-telecoms.fr
Subject: Re: mail pour voir si ca marche

----- Original Message -----=20
From: Cl=E9ment BONNAL=20
To: destinataire=20
Sent: Thursday, February 02, 2012 3:36 PM
Subject: Re: mail pour voir si ca marche
Subject: Re: mail pour voir si ca marche

Ceci est un beau mail

----- Original Message -----=20
From: Cl=E9ment BONNAL=20
To: destinataire=20
Sent: Thursday, February 02, 2012 3:31 PM
Subject: mail pour voir si ca marche
Subject: mail pour voir si ca marche

rien


--------------------FIN DU MAIL ------------------
Il me reste deux problèmes à régler :
- Dans ce résultat il y a deux mails, et j'aurais souhaité mettre la chaine "--------------------FIN DU MAIL ------------------" à la fin de chacun d'eux. Or la tel que je l'ai mis dans ma commande, il ne s'affiche qu'à la fin de la lecture du fichier, il faudrait qu'il s'affiche juste après le filtre de l'expression que tu m'as donné.
- Si on regarde bien, les messages sont des réponses à d'autres messages. Le corps du message (que j'ai extrait grace à ton aide), contient donc le sujet du message original. Or on voit qu'il apparait 2 fois, en effet j'ai l'impression que mon premier filtre qui me sort le sujet dans la lecture du flux, me le ressort dans le corps du message. Y a t-il possibilité de l'exclure ?
- Bonus : Existe t-il une commande pour remettre en forme le charset, car la les accents et caractères spéciaux ne sont pas super lisibles !!

Merci à vous !!!!
theclem35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2012, 09h16   #4
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Re-

Citation:
- Dans ce résultat il y a deux mails, et j'aurais souhaité mettre la chaine "--------------------FIN DU MAIL ------------------" à la fin de chacun d'eux. Or la tel que je l'ai mis dans ma commande, il ne s'affiche qu'à la fin de la lecture du fichier, il faudrait qu'il s'affiche juste après le filtre de l'expression que tu m'as donné.
Si en modifiant un peu la syntaxe comme ça :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
$ sed -n '/debut_sect/,/fin_sect/{/debut_sect/b;/fin_sect/{s//FIN/};p}' plop 
texte L1
texte L2
texte L3
texte L4
FIN
texte L5
texte L6
texte L7
texte L8
FIN

$
Citation:
- Si on regarde bien, les messages sont des réponses à d'autres messages. Le corps du message (que j'ai extrait grace à ton aide), contient donc le sujet du message original. Or on voit qu'il apparait 2 fois, en effet j'ai l'impression que mon premier filtre qui me sort le sujet dans la lecture du flux, me le ressort dans le corps du message. Y a t-il possibilité de l'exclure ?
Avec "sed" non, ou du moins ça serait beaucoup trop complexe à mettre en place


Citation:
- Bonus : Existe t-il une commande pour remettre en forme le charset, car la les accents et caractères spéciaux ne sont pas super lisibles !!
Voir du côté de la commande "iconv" ou "utrac"

Sinon dans ton code il y a quelques incohérences, du moins concernant tes explications et sans voir le fichier original.

sed -ne '/Address:/p' -ne '/^ *Subject:/p' peut être regroupé sur une seule commande sed -ne '/Address:\|^ *Subject:/p'.

/Boundary: \\r\\n------=_NextPart/ si le but est de matcher une ligne contenant "Boundary" suivi d'un retour chariot et d'une fin de ligne puis d'une ligne contenant "------=_NextPart" c'est loupé. sed doit d'abord ajouter (commande N) les lignes dans sa mémoire principale pour voir les éventuels retours chariot et fins de ligne et les traiter.

Idem pour sed -e 's/\\r\\n//g'. Si tu ne charges pas avant tout le fichier dans la mémoire principale, cette commande n'a aucune incidence sur le fichier.
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2012, 19h16   #5
Membre du Club
 
Avatar de theclem35
 
Homme Clément
Technicien Réseaux & Télécommunications
Inscription : décembre 2007
Messages : 148
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France, Vendée (Pays de la Loire)

Informations professionnelles :
Activité : Technicien Réseaux & Télécommunications
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : décembre 2007
Messages : 148
Points : 49
Points : 49
Salut,

Oui je voulais être concis pour le début afin de partir de choses simples.
J'ai un petit peu changé ma façon de procéder car l'autre commencait à devenir trop complexe, et comme tu l'as dis, comportait certaines fois des incohérences.

Quel est le but ?
Avec tshark (plugin de wireshark), je souhaite extraire d'un paquet IMF (mail) l'expéditeur, le destinataire, le sujet, et le corps du message afin des l'afficher dans la console.

La commande suivante :
Code :
tshark -i eth0 -R "text && data-text-lines && imf" -T fields -e imf.from -e imf.to -e imf.subject -e text
me donne comme résultat :
Code :
=?ISO-8859-1?Q?Cl=E9ment_BONNAL?= <clement.bonnal@free.fr>	=?ISO-8859-1?Q?Cl=E9ment_BONNAL?= <clement.bonnal@free.fr>	Re: Sujet du mail	No-Operation (NOP),No-Operation (NOP),Timestamps: TSval 176898, TSecr 2871147613,SEQ/ACK analysis,C: .,Preamble,First boundary: --------------060005050807010000020003\r\n,On 03/02/2012 15:45, clement wrote:\r\n,> On 03/02/2012 13:28, clement wrote:\r\n,>> On 03/02/2012 12:44, clement wrote:\r\n,>>> On 03/02/2012 12:37, Clément BONNAL wrote:\r\n,>>>>\r\n,>>>>     ----- Original Message -----\r\n,>>>>     *From:* Clément BONNAL\r\n,>>>>     <mailto:clement.bonnal@iut-reseaux-telecoms.fr>\r\n,>>>>     *To:* Clément BONNAL\r\n,>>>>     <mailto:clement.bonnal@iut-reseaux-telecoms.fr>\r\n,>>>>     *Sent:* Friday, February 03, 2012 10:50 AM\r\n,>>>>     *Subject:* Re: Sujet du mail\r\n,>>>>\r\n,>>>>     Mail 3\r\n,>>>>\r\n,>>>>         ----- Original Message -----\r\n,>>>>         *From:* Clément BONNAL\r\n,>>>>         <mailto:clement.bonnal@iut-reseaux-telecoms.fr>\r\n,>>>>         *To:* landry bremaud\r\n,>>>>         <mailto:landry.bremaud@iut-reseaux-telecoms.fr>\r\n,>>>>         *Sent:* Thursday, February 02, 2012 3:36 PM\r\n,>>>>         *Subject:* Re: Sujet du mail\r\n,>>>>\r\n,>>>>         Mail 2\r\n,>>>>\r\n,>>>>             ----- Original Message -----\r\n,>>>>             *From:* Clément BONNAL\r\n,>>>>             <mailto:clement.bonnal@iut-reseaux-telecoms.fr>\r\n,>>>>             *To:* landry bremaud\r\n,>>>>             <mailto:landry.bremaud@iut-reseaux-telecoms.fr>\r\n,>>>>             *Sent:* Thursday, February 02, 2012 3:31 PM\r\n,>>>>             *Subject:* Sujet du mail\r\n,>>>>\r\n,>>>>             Mail 1 \r\n,>>>>\r\n,>>>\r\n,>>\r\n,>\r\n,\r\n,Boundary: \r\n--------------060005050807010000020003\r\n,<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">\r\n,<html>\r\n,  <head>\r\n,    <meta content="text/html; charset=ISO-8859-1"\r\n,      http-equiv="Content-Type">\r\n,  </head>\r\n,  <body bgcolor="#ffffff" text="#000000">\r\n,    On 03/02/2012 15:45, clement wrote:\r\n,    <blockquote cite="mid:4F2BF31E.9020706@iut-reseaux-telecoms.fr"\r\n,      type="cite">\r\n,      <meta content="text/html; charset=ISO-8859-1"\r\n,        http-equiv="Content-Type">\r\n,      On 03/02/2012 13:28, clement wrote:\r\n,      <blockquote cite="mid:4F2BD2F2.4000700@iut-reseaux-telecoms.fr"\r\n,        type="cite">\r\n,        <meta content="text/html; charset=ISO-8859-1"\r\n,          http-equiv="Content-Type">\r\n,        On 03/02/2012 12:44, clement wrote:\r\n,        <blockquote cite="mid:4F2BC8A7.8030103@iut-reseaux-telecoms.fr"\r\n,          type="cite">\r\n,          <meta content="text/html; charset=ISO-8859-1"\r\n,            http-equiv="Content-Type">\r\n,          On 03/02/2012 12:37, Cl&eacute;ment BONNAL wrote:\r\n,          <blockquote\r\n,            cite="mid:86BDD62FBEC546E28765A257C939D3FF@NetbookRT1"\r\n,            type="cite">\r\n,            <meta content="text/html; charset=ISO-8859-1"\r\n,              http-equiv="Content-Type">\r\n,            <meta name="GENERATOR" content="MSHTML 8.00.6001.19170">\r\n,            <style></style>\r\n,            <div>&nbsp;</div>\r\n,            <blockquote style="border-left: 2px solid rgb(0, 0, 0);\r\n,              padding-left: 5px; padding-right: 0px; margin-left: 5px;\r\n,              margin-right: 0px;" dir="ltr">\r\n,              <div style="font: 10pt arial;">----- Original Message\r\n,                ----- </div>\r\n,              <div style="font: 10pt arial; background: none repeat\r\n,                scroll 0% 0% rgb(228, 228, 228);"><b>From:</b> <a\r\n,                  moz-do-not-send="true"\r\n,                  title="clement.bonnal@iut-reseaux-telecoms.fr"\r\n,                  href="mailto:clement.bonnal@iut-reseaux-telecoms.fr">Cl&eacute;ment\r\n,\r\n,\r\n,\r\n,                  BONNAL</a> </div>\r\n,              <div style="font: 10pt arial;"><b>To:</b> <a\r\n,                  moz-do-not-send="true"\r\n,                  title="clement.bonnal@iut-reseaux-telecoms.fr"\r\n,                  href="mailto:clement.bonnal@iut-reseaux-telecoms.fr">Cl&eacute;ment\r\n,\r\n,\r\n,\r\n,                  BONNAL</a> </div>\r\n,              <div style="font: 10pt arial;"><b>Sent:</b> Friday,\r\n,                February 03, 2012 10:50 AM</div>\r\n,              <div style="font: 10pt arial;"><b>Subject:</b> Re: Sujet\r\n,                du mail</div>\r\n,              <div><br>\r\n,              </div>\r\n,              <div>Mail 3 <br>\r\n,              </div>\r\n,              <blockquote style="border-left: 2px solid rgb(0, 0, 0);\r\n,                padding-left: 5px; padding-right: 0px; margin-left: 5px;\r\n,                margin-right: 0px;" dir="ltr">\r\n,                <div style="font: 10pt arial;">----- Original Message\r\n,                  ----- </div>\r\n,                <div style="font: 10pt arial; background: none repeat\r\n,                  scroll 0% 0% rgb(228, 228, 228);"><b>From:</b> <a\r\n,                    moz-do-not-send="true"\r\n,                    title="clement.bonnal@iut-reseaux-telecoms.fr"\r\n,                    href="mailto:clement.bonnal@iut-reseaux-telecoms.fr">Cl&eacute;ment\r\n,\r\n,\r\n,\r\n,                    BONNAL</a> </div>\r\n,                <div style="font: 10pt arial;"><b>To:</b> <a\r\n,                    moz-do-not-send="true"\r\n,                    title="landry.bremaud@iut-reseaux-telecoms.fr"\r\n,                    href="mailto:landry.bremaud@iut-reseaux-telecoms.fr">landry\r\n,\r\n,\r\n,\r\n,                    bremaud</a> </div>\r\n,                <div style="font: 10pt arial;"><b>Sent:</b> Thursday,\r\n,                  February 02, 2012 3:36 PM</div>\r\n,                <div style="font: 10pt arial;"><b>Subject:</b> Re: Sujet\r\n,                  du mail</div>\r\n,                <div><br>\r\n,                </div>\r\n,                <font size="2"><font face="Arial">Mail 2</font></font>\r\n,                <blockquote style="border-left: 2px solid rgb(0, 0, 0);\r\n,                  padding-left: 5px; padding-right: 0px; margin-left:\r\n,                  5px; margin-right: 0px;" dir="ltr">\r\n,                  <div style="font: 10pt arial;">----- Original Message\r\n,                    ----- </div>\r\n,                  <div style="font: 10pt arial; background: none repeat\r\n,                    scroll 0% 0% rgb(228, 228, 228);"><b>From:</b> <a\r\n,                      moz-do-not-send="true"\r\n,                      title="clement.bonnal@iut-reseaux-telecoms.fr"\r\n,                      href="mailto:clement.bonnal@iut-reseaux-telecoms.fr">Cl&eacute;ment\r\n,\r\n,\r\n,\r\n,                      BONNAL</a> </div>\r\n,                  <div style="font: 10pt arial;"><b>To:</b> <a\r\n,                      moz-do-not-send="true"\r\n,                      title="landry.bremaud@iut-reseaux-telecoms.fr"\r\n,                      href="mailto:landry.bremaud@iut-reseaux-telecoms.fr">landry\r\n,\r\n,\r\n,\r\n,                      bremaud</a> </div>\r\n,                  <div style="font: 10pt arial;"><b>Sent:</b> Thursday,\r\n,                    February 02, 2012 3:31 PM</div>\r\n,                  <div style="font: 10pt arial;"><b>Subject:</b> Sujet\r\n,                    du mail</div>\r\n,                  <div><br>\r\n,                  </div>\r\n,                  <font size="2"><font face="Arial">Mail 1</font></font>\r\n,                </blockquote>\r\n,              </blockquote>\r\n,            </blockquote>\r\n,          </blockquote>\r\n,          <br>\r\n,        </blockquote>\r\n,        <br>\r\n,      </blockquote>\r\n,      <br>\r\n,    </blockquote>\r\n,    <br>\r\n,  </body>\r\n,</html>\r\n,Last boundary: \r\n--------------060005050807010000020003--\r\n
On voit que sur la fin c'est le même message mais codé en HTML (ils ne le sont pas tous). Je souhaite donc supprimer cette partie redondante.
La commande suivante le fait très bien :
Code :
tshark -i eth0 -R "text && data-text-lines && imf" -T fields -e imf.from -e imf.to -e imf.subject -e text | sed -e 's/<html>.*<\/html>//g'
et donne ceci :
Code :
=?ISO-8859-1?Q?Cl=E9ment_BONNAL?= <clement.bonnal@free.fr>	=?ISO-8859-1?Q?Cl=E9ment_BONNAL?= <clement.bonnal@free.fr>	Re: Sujet du mail	No-Operation (NOP),No-Operation (NOP),Timestamps: TSval 256057, TSecr 2871939211,SEQ/ACK analysis,C: .,Preamble,First boundary: --------------010801040601080202040408\r\n,On 03/02/2012 18:48, Cl�ment BONNAL wrote:\r\n,> On 03/02/2012 15:45, clement wrote:\r\n,>> On 03/02/2012 13:28, clement wrote:\r\n,>>> On 03/02/2012 12:44, clement wrote:\r\n,>>>> On 03/02/2012 12:37, Cl�ment BONNAL wrote:\r\n,>>>>>\r\n,>>>>>     ----- Original Message -----\r\n,>>>>>     *From:* Cl�ment BONNAL\r\n,>>>>>     <mailto:clement.bonnal@iut-reseaux-telecoms.fr>\r\n,>>>>>     *To:* Cl�ment BONNAL\r\n,>>>>>     <mailto:clement.bonnal@iut-reseaux-telecoms.fr>\r\n,>>>>>     *Sent:* Friday, February 03, 2012 10:50 AM\r\n,>>>>>     *Subject:* Re: Sujet du mail\r\n,>>>>>\r\n,>>>>>     Mail 3\r\n,>>>>>\r\n,>>>>>         ----- Original Message -----\r\n,>>>>>         *From:* Cl�ment BONNAL\r\n,>>>>>         <mailto:clement.bonnal@iut-reseaux-telecoms.fr>\r\n,>>>>>         *To:* landry bremaud\r\n,>>>>>         <mailto:landry.bremaud@iut-reseaux-telecoms.fr>\r\n,>>>>>         *Sent:* Thursday, February 02, 2012 3:36 PM\r\n,>>>>>         *Subject:* Re: Sujet du mail\r\n,>>>>>\r\n,>>>>>         Mail 2\r\n,>>>>>\r\n,>>>>>             ----- Original Message -----\r\n,>>>>>             *From:* Cl�ment BONNAL\r\n,>>>>>             <mailto:clement.bonnal@iut-reseaux-telecoms.fr>\r\n,>>>>>             *To:* landry bremaud\r\n,>>>>>             <mailto:landry.bremaud@iut-reseaux-telecoms.fr>\r\n,>>>>>             *Sent:* Thursday, February 02, 2012 3:31 PM\r\n,>>>>>             *Subject:* Sujet du mail\r\n,>>>>>\r\n,>>>>>             Mail 1 \r\n,>>>>>\r\n,>>>>\r\n,>>>\r\n,>>\r\n,>\r\n,\r\n,Boundary: \r\n--------------010801040601080202040408\r\n,<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">\r\n,\r\n,Last boundary: \r\n--------------010801040601080202040408--\r\n
Ensuite, vu que les \r\n font partie du message je rétabli les lignes et la tabulations. Je transforme la commande en :
Code :
tshark -i eth0 -R "text && data-text-lines && imf" -T fields -e imf.from -e imf.to -e imf.subject -e text | sed -e 's/<html>.*<\/html>//g' -e 's/\\r\\n,/\n/g' -e 's/\t/\n/g'
ce qui me donne (et c'est beaucoup mieux) :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
=?ISO-8859-1?Q?Cl=E9ment_BONNAL?= <clement.bonnal@free.fr>
=?ISO-8859-1?Q?Cl=E9ment_BONNAL?= <clement.bonnal@free.fr>
Re: Sujet du mail
No-Operation (NOP),No-Operation (NOP),Timestamps: TSval 315671, TSecr 2872535367,SEQ/ACK analysis,C: .,Preamble,First boundary: --------------080708060503020001060508
On 03/02/2012 18:48, Cl�ment BONNAL wrote:
> On 03/02/2012 15:45, clement wrote:
>> On 03/02/2012 13:28, clement wrote:
>>> On 03/02/2012 12:44, clement wrote:
>>>> On 03/02/2012 12:37, Cl�ment BONNAL wrote:
>>>>>
>>>>>     ----- Original Message -----
>>>>>     *From:* Cl�ment BONNAL
>>>>>     <mailto:clement.bonnal@iut-reseaux-telecoms.fr>
>>>>>     *To:* Cl�ment BONNAL
>>>>>     <mailto:clement.bonnal@iut-reseaux-telecoms.fr>
>>>>>     *Sent:* Friday, February 03, 2012 10:50 AM
>>>>>     *Subject:* Re: Sujet du mail
>>>>>
>>>>>     Mail 3
>>>>>
>>>>>         ----- Original Message -----
>>>>>         *From:* Cl�ment BONNAL
>>>>>         <mailto:clement.bonnal@iut-reseaux-telecoms.fr>
>>>>>         *To:* landry bremaud
>>>>>         <mailto:landry.bremaud@iut-reseaux-telecoms.fr>
>>>>>         *Sent:* Thursday, February 02, 2012 3:36 PM
>>>>>         *Subject:* Re: Sujet du mail
>>>>>
>>>>>         Mail 2
>>>>>
>>>>>             ----- Original Message -----
>>>>>             *From:* Cl�ment BONNAL
>>>>>             <mailto:clement.bonnal@iut-reseaux-telecoms.fr>
>>>>>             *To:* landry bremaud
>>>>>             <mailto:landry.bremaud@iut-reseaux-telecoms.fr>
>>>>>             *Sent:* Thursday, February 02, 2012 3:31 PM
>>>>>             *Subject:* Sujet du mail
>>>>>
>>>>>             Mail 1 
>>>>>
>>>>
>>>
>>
>

Boundary: \r\n--------------080708060503020001060508
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

Last boundary: \r\n--------------080708060503020001060508--\r\n
Et on y est presque !!!!!!
Il me reste quelques lignes parasites qui ont toujours la même chaine de départ.
Il me faudrait donc supprimer les lignes suivantes (trouvables car elles commencent toujours par la même séquence :
Code :
1
2
3
4
No-Operation (NOP),No-Operation (NOP),Timestamps: TSval 315671, TSecr 2872535367,SEQ/ACK analysis,C: .,Preamble,First boundary: --------------080708060503020001060508
Boundary: \r\n--------------080708060503020001060508
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Last boundary: \r\n--------------080708060503020001060508--\r\n
Je pense qu'un dernier coup de sed ferait l'affaire ! (Enfin!!!)
Et merci de m'avoir lu
theclem35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2012, 20h03   #6
Membre du Club
 
Avatar de theclem35
 
Homme Clément
Technicien Réseaux & Télécommunications
Inscription : décembre 2007
Messages : 148
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France, Vendée (Pays de la Loire)

Informations professionnelles :
Activité : Technicien Réseaux & Télécommunications
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : décembre 2007
Messages : 148
Points : 49
Points : 49
Si je rajoute un pipe à ma commande précédente avec :
Code :
| sed -e '/^No-Operation (NOP)/d' -e '/^Boundary/d' -e '/^<!DOCTYPE HTML/d' -e '/^Last boundary/d'
Cela fonctionne. En effet, je suis obligé de refaire un pipe car si je les inclus dans la commande précédente, cela ne fonctionne pas car le message n'est pas encore mis en forme sur plusieurs lignes (et donc considéré comme une seule ligne)

Le problème avec ca, c'est que vu que je lis des paquets arrivant sur mon interface grace à tshark, et bien j'ai un retard de plusieurs messages à chaque fois (je suis obligé d'envoyer 3 mails avant de pouvoir lire le 1er correctement déchiffré sur ma console...)

Déjà rien qu'avec le pipe précédent, je devais envoyer un deuxième mail avant de voir apparaitre le 1er...

Une dernière petite aide serait la bienvenue
Merci!
theclem35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2012, 10h30   #7
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
$ cat script.sed 
s/\tNo-Op.*\\n,On/\nOn/
s/Boundary.*//
s/<html>.*<\/html>//g
s/\\r\\n,/\n/g
s/\t/\n/g

$ sed -f script.sed plop 
=?ISO-8859-1?Q?Cl=E9ment_BONNAL?= <clement.bonnal@free.fr>
=?ISO-8859-1?Q?Cl=E9ment_BONNAL?= <clement.bonnal@free.fr>
Re: Sujet du mail
On 03/02/2012 15:45, clement wrote:
> On 03/02/2012 13:28, clement wrote:
>> On 03/02/2012 12:44, clement wrote:
>>> On 03/02/2012 12:37, Clément BONNAL wrote:
>>>>
>>>>     ----- Original Message -----
>>>>     *From:* Clément BONNAL
>>>>     <mailto:clement.bonnal@iut-reseaux-telecoms.fr>
>>>>     *To:* Clément BONNAL
>>>>     <mailto:clement.bonnal@iut-reseaux-telecoms.fr>
>>>>     *Sent:* Friday, February 03, 2012 10:50 AM
>>>>     *Subject:* Re: Sujet du mail
>>>>
>>>>     Mail 3
>>>>
>>>>         ----- Original Message -----
>>>>         *From:* Clément BONNAL
>>>>         <mailto:clement.bonnal@iut-reseaux-telecoms.fr>
>>>>         *To:* landry bremaud
>>>>         <mailto:landry.bremaud@iut-reseaux-telecoms.fr>
>>>>         *Sent:* Thursday, February 02, 2012 3:36 PM
>>>>         *Subject:* Re: Sujet du mail
>>>>
>>>>         Mail 2
>>>>
>>>>             ----- Original Message -----
>>>>             *From:* Clément BONNAL
>>>>             <mailto:clement.bonnal@iut-reseaux-telecoms.fr>
>>>>             *To:* landry bremaud
>>>>             <mailto:landry.bremaud@iut-reseaux-telecoms.fr>
>>>>             *Sent:* Thursday, February 02, 2012 3:31 PM
>>>>             *Subject:* Sujet du mail
>>>>
>>>>             Mail 1 
>>>>
>>>
>>
>


$
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2012, 13h44   #8
Membre du Club
 
Avatar de theclem35
 
Homme Clément
Technicien Réseaux & Télécommunications
Inscription : décembre 2007
Messages : 148
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France, Vendée (Pays de la Loire)

Informations professionnelles :
Activité : Technicien Réseaux & Télécommunications
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : décembre 2007
Messages : 148
Points : 49
Points : 49
Merci beaucoup zipe31,

Ca marche très bien pour le mail en question !
Par contre pour un mail simple qui ne contient pas de html, tel que celui-ci :
Code :
=?ISO-8859-1?Q?Cl=E9ment_BONNAL?= <clement.bonnal@free.fr>	=?ISO-8859-1?Q?Cl=E9ment_BONNAL?= <clement.bonnal@free.fr>	Re: Sujet du mail	No-Operation (NOP),No-Operation (NOP),Timestamps: TSval 453687, TSecr 2938897604,SEQ/ACK analysis,C: .,Premiere ligne d'un mail sans html\r\n,Deuxieme ligne du mail\r\n
Et bien j'ai une ligne parasite qui reste. Le résultat après sed donne :
Code :
1
2
3
4
5
=?ISO-8859-1?Q?Cl=E9ment_BONNAL?= <clement.bonnal@free.fr>
=?ISO-8859-1?Q?Cl=E9ment_BONNAL?= <clement.bonnal@free.fr>
Re: Sujet du mail
No-Operation (NOP),No-Operation (NOP),Timestamps: TSval 462274, TSecr 2938983479,SEQ/ACK analysis,C: .,Premiere ligne d'un mail sans html
Deuxieme ligne du mail\r\n
On remarque donc cette ligne "déchet" (avec la 1ere ligne du corps du message dans celle-ci) devrait pourtant partir grâce à ton filtre :
Code :
No-Operation (NOP),No-Operation (NOP),Timestamps: TSval 462274, TSecr 2938983479,SEQ/ACK analysis,C: .,Premiere ligne d'un mail sans html
Peut-être la fin de l'argument qui est en cause et que j'avoue ne pas trop comprendre : s/\tNo-Op.*\\n,On/\nOn/

Encore une fois merci à toi, ton aide m'est précieuse!
theclem35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2012, 16h24   #9
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Je pense que le plus simple est de rester sur ton idée dans ton message #6 en rajoutant un "pipe" pour éliminer les lignes superflues
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2012, 17h16   #10
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Quoi que...

Essaie comme ça :
Code :
1
2
3
4
5
6
s/\tNo-Op.*\\n,On/\nOn/
s/\tNo-Op.*: \.,/\n/
s/Boundary.*//
s/<html>.*<\/html>//g
s/\\r\\n,/\n/g
s/\t/\n/g
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2012, 18h02   #11
Membre du Club
 
Avatar de theclem35
 
Homme Clément
Technicien Réseaux & Télécommunications
Inscription : décembre 2007
Messages : 148
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France, Vendée (Pays de la Loire)

Informations professionnelles :
Activité : Technicien Réseaux & Télécommunications
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : décembre 2007
Messages : 148
Points : 49
Points : 49
Effectivement, vu que mon problème de temps réel est réglé je peux utiliser les pipes.

Merci énormément pour ton aide, tu m'as bien aidé à avancer dans mon projet !
theclem35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2012, 18h24   #12
Membre du Club
 
Avatar de theclem35
 
Homme Clément
Technicien Réseaux & Télécommunications
Inscription : décembre 2007
Messages : 148
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France, Vendée (Pays de la Loire)

Informations professionnelles :
Activité : Technicien Réseaux & Télécommunications
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : décembre 2007
Messages : 148
Points : 49
Points : 49
Pour ta dernière commande ca marche plutot pas mal.

Je n'ai aucune erreur dans les mails HTML.

Par contre à l'envoi d'un mail texte j'ai ce résultat :
Code :
1
2
3
4
=?ISO-8859-1?Q?Cl=E9ment_BONNAL?= <clement.bonnal@free.fr>
=?ISO-8859-1?Q?Cl=E9ment_BONNAL?= <clement.bonnal@free.fr>
Re: Sujet du mail
mail sans html\r\n
Et à sa réception :
Code :
1
2
3
4
5
6
=?ISO-8859-1?Q?Cl=E9ment_BONNAL?= <clement.bonnal@free.fr>
=?ISO-8859-1?Q?Cl=E9ment_BONNAL?= <clement.bonnal@free.fr>
Re: Sujet du mail
SEQ/ACK analysis,mail sans html

.\r\n
Un SEQ/ACK analysis qui vient se rajouter ....

Pour les pipes finalement même si c'est en temps réel, le deuxième pipe fait tout foirer je n'ai même plus de filtrage html !
theclem35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h38.


 
 
 
 
Partenaires

Hébergement Web