Awk et sed cmt extraire et dissocier un parag

[Résolu/Fermé]
Signaler
Messages postés
55
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
16 août 2010
-
Messages postés
55
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
16 août 2010
-
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,

1 réponse

Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 887
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...

;-))
Messages postés
55
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
16 août 2010
1
pardon , je l'ai pas fait , merci beaucoup ,

je vais essayé de tester ce que tu m'as donné merci beaucoup !!