A voir également:
- Sed -e bash
- É majuscule - Guide
- Bingo bash - Télécharger - Divers Jeux
- Configuration astra 19.2 e - Forum TNT / Satellite / Réception
- Realtek 8822ce wireless lan 802.11ac pci-e nic ✓ - Forum PC portable
- E/s en série intel - Forum Carte graphique
3 réponses
personnellement, j'utiliserais en awk
(soit précédé d'un sed pour changer les ( en < et les > en ) ou inversement, soit avec de la conditionnelle)
(soit précédé d'un sed pour changer les ( en < et les > en ) ou inversement, soit avec de la conditionnelle)
Salut,
:-))
$ cat plop je lis un fichier ligne par ligne lorsque je suis sur la ligne qui contient From: alors j'ai 2 cas de possible From: Paul <paul@paul.com> From: (toto@toto.com) Toto $ cat fich.sed /^From/{ /</{ s/.*: \|>//g s/ </:/ } /(/{ s/.*(// s/\(.*\)) \(.*\)/\2:\1/ } } $ sed -f fich.sed plop je lis un fichier ligne par ligne lorsque je suis sur la ligne qui contient From: alors j'ai 2 cas de possible Paul:paul@paul.com Toto:toto@toto.com $
:-))
Contrainte d'ecole ...
Arf ;-(((
Plutôt que de t'expliquer, essaie de comprendre par toi même, ça te sera plus bénéfique, tout est dans la FAQ :
Sed - Introduction à SED - Part I
Sed - Introduction à SED - Part II
Sed - Introduction à SED - Part III
Arf ;-(((
Plutôt que de t'expliquer, essaie de comprendre par toi même, ça te sera plus bénéfique, tout est dans la FAQ :
Sed - Introduction à SED - Part I
Sed - Introduction à SED - Part II
Sed - Introduction à SED - Part III
hello
$ cat a1 Je lis un fichier ligne par ligne lorsque je suis sur la ligne qui contient From: alors j'ai 2 cas de possible From: Paul <paul@paul.com> From: (toto@toto.com) Toto $ $ awk -F"[<>:() ]" '/^From:.*\(/ {print $6 ":" $4 ; next} /^From.*</ {print $3 ":" $5 ; next} {print}' a1 Je lis un fichier ligne par ligne lorsque je suis sur la ligne qui contient From: alors j'ai 2 cas de possible Paul:paul@paul.com Toto:toto@toto.com $
effectivement
$ cat a1 Je lis un fichier ligne par ligne lorsque je suis sur la ligne qui contient From: alors j'ai 2 cas de possible From: Paul le poulpe <paul@paul.com> From: (toto@toto.com) Toto Cutugno $ $ awk -F"[<>:()]" '/^From:.*\(/ {gsub("^ | $", "",$4);print $4 ":" $3 ; next} /^From.*</ {gsub("^ | $", "", $2) ; print $2 ":" $3 ; next} {print}' a1 Je lis un fichier ligne par ligne lorsque je suis sur la ligne qui contient From: alors j'ai 2 cas de possible Paul le poulpe:paul@paul.com Toto Cutugno:toto@toto.com
on ne peut plus modifier ses posts ?
version optimisée
version optimisée
$ awk -F"[<>:()]" '/^From:/ {if($0 ~ "[(]"){c1=4 ; c2=3} else {c1=2 ; c2=3} ; gsub("^ | $", "",$c1);print $c1 ":" $c2 ; next} {print}' a1 Je lis un fichier ligne par ligne lorsque je suis sur la ligne qui contient From: alors j'ai 2 cas de possible Paul le poulpe:paul@paul.com Toto Cutugno:toto@toto.com $ $