Awk et sed cmt extraire et dissocier un parag
Résolu
titexe
Messages postés
55
Statut
Membre
-
titexe Messages postés 55 Statut Membre -
titexe Messages postés 55 Statut Membre -
Bonjour,
comment extraire ces informations de ce type de fichier; (NB: la ligne filename est centré)
filename="OR99CT99SMIMESIGNECRYPTE_15-11-2006.unl"
@|99|OR|99|CT|200608091600|2006|212121||DD|TEST||||
D|2006|121201300030001011|08|1|1014|1365|xxxxx|1|1|10|10/01/2005|20/01=/2005||||||
D|2006|121201300030001012|08|1|1014|1365|xxxxxxx|1|2|11|10/01/2005|20/01=/2005||||||
D|2006|121201300000001040|08|1|1014|1365|xxxxxxx|2|3|15|15/01/2005|21/01=/2005||||||
D|2006|121201300000001060|08|1|1014|1365|xxxxxxxx|2|4|16|15/01/2005|21/01=/2005||||||
D|2006|320011300800001011|08|3200113008|1014|1365|4000000|3|5|12|12/01/2005|21/01/2005||||||
D|2006|320011300800001020|08|3200113008|1014|1365|4000000|3|6|13|13/01/2=2005|21/01/2005||||||
&|6|
---_NextPart_000_0121_01C708D0.7AEEAB30--
1/ Extraire le nom du fichier:OR99CT99SMIMESIGNECRYPTE_15-11-2006.unl,
2/ supprimer les "=" qui se trouve entre les dates: ex (21/01=/2005)=(21/01/2005),
3/Extraire cette partie qui commence entre "@" et la derniére ligne qui se termine par "&|6|" dans un autre fichier,(aprés la suppression de "="):
@|99|OR|99|CT|200608091600|2006|212121||DD|TEST||||
D|2006|121201300030001011|08|1|1014|1365|xxxxx|1|1|10|10/01/2005|20/01/2005||||||
D|2006|121201300030001012|08|1|1014|1365|xxxxxxx|1|2|11|10/01/2005|20/01/2005||||||
D|2006|121201300000001040|08|1|1014|1365|xxxxxxx|2|3|15|15/01/2005|21/01/2005||||||
D|2006|121201300000001060|08|1|1014|1365|xxxxxxxx|2|4|16|15/01/2005|21/01/2005||||||
D|2006|320011300800001011|08|3200113008|1014|1365|4000000|3|5|12|12/01/2005|21/01/2005||||||
D|2006|320011300800001020|08|3200113008|1014|1365|4000000|3|6|13|13/01/22005|21/01/2005||||||
&|6|
Merci d'avance,
je remercie lami 20j pour son aide hier et toute l'equipe CCM, vous etes trop réactive, Merci encore une fois,
Cordialement,
comment extraire ces informations de ce type de fichier; (NB: la ligne filename est centré)
filename="OR99CT99SMIMESIGNECRYPTE_15-11-2006.unl"
@|99|OR|99|CT|200608091600|2006|212121||DD|TEST||||
D|2006|121201300030001011|08|1|1014|1365|xxxxx|1|1|10|10/01/2005|20/01=/2005||||||
D|2006|121201300030001012|08|1|1014|1365|xxxxxxx|1|2|11|10/01/2005|20/01=/2005||||||
D|2006|121201300000001040|08|1|1014|1365|xxxxxxx|2|3|15|15/01/2005|21/01=/2005||||||
D|2006|121201300000001060|08|1|1014|1365|xxxxxxxx|2|4|16|15/01/2005|21/01=/2005||||||
D|2006|320011300800001011|08|3200113008|1014|1365|4000000|3|5|12|12/01/2005|21/01/2005||||||
D|2006|320011300800001020|08|3200113008|1014|1365|4000000|3|6|13|13/01/2=2005|21/01/2005||||||
&|6|
---_NextPart_000_0121_01C708D0.7AEEAB30--
1/ Extraire le nom du fichier:OR99CT99SMIMESIGNECRYPTE_15-11-2006.unl,
2/ supprimer les "=" qui se trouve entre les dates: ex (21/01=/2005)=(21/01/2005),
3/Extraire cette partie qui commence entre "@" et la derniére ligne qui se termine par "&|6|" dans un autre fichier,(aprés la suppression de "="):
@|99|OR|99|CT|200608091600|2006|212121||DD|TEST||||
D|2006|121201300030001011|08|1|1014|1365|xxxxx|1|1|10|10/01/2005|20/01/2005||||||
D|2006|121201300030001012|08|1|1014|1365|xxxxxxx|1|2|11|10/01/2005|20/01/2005||||||
D|2006|121201300000001040|08|1|1014|1365|xxxxxxx|2|3|15|15/01/2005|21/01/2005||||||
D|2006|121201300000001060|08|1|1014|1365|xxxxxxxx|2|4|16|15/01/2005|21/01/2005||||||
D|2006|320011300800001011|08|3200113008|1014|1365|4000000|3|5|12|12/01/2005|21/01/2005||||||
D|2006|320011300800001020|08|3200113008|1014|1365|4000000|3|6|13|13/01/22005|21/01/2005||||||
&|6|
Merci d'avance,
je remercie lami 20j pour son aide hier et toute l'equipe CCM, vous etes trop réactive, Merci encore une fois,
Cordialement,
1 réponse
-
Salut,
Avant de poster, as-tu jetté un oeil à la réponse fournie sur ton dernier post ?
Sinon, en sus de ma réponse dans le post sus-cité, pour supprimer le signe "=", avec sed :sed -i 's/=//' ton_fichier
à rajouter en fin de script...
;-))