Bash sed
Fermé
pecom
Messages postés
33
Date d'inscription
jeudi 23 septembre 2004
Statut
Membre
Dernière intervention
31 mai 2013
-
9 nov. 2011 à 06:48
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 9 nov. 2011 à 14:50
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 9 nov. 2011 à 14:50
A voir également:
- Sed -e bash
- É - Guide
- E/s en série intel - Forum Carte graphique
- List bash ✓ - Forum Shell
- E exposant clavier ✓ - Forum Windows
- É majuscule ✓ - Forum Windows
3 réponses
dna.factory
Messages postés
25506
Date d'inscription
mercredi 18 avril 2007
Statut
Modérateur
Dernière intervention
20 janvier 2025
1 613
9 nov. 2011 à 07:22
9 nov. 2011 à 07:22
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)
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 420
9 nov. 2011 à 07:36
9 nov. 2011 à 07:36
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 $
:-))
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 420
9 nov. 2011 à 10:50
9 nov. 2011 à 10:50
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
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
9 nov. 2011 à 10:00
9 nov. 2011 à 10:00
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 $
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 420
9 nov. 2011 à 10:06
9 nov. 2011 à 10:06
Salut,
Si le nom est composé (Jean Paul ou Toto Titi), ce qui arrive souvent dans les noms qui apparaissent en regard des adresses mail, ça foire ;-\
Si le nom est composé (Jean Paul ou Toto Titi), ce qui arrive souvent dans les noms qui apparaissent en regard des adresses mail, ça foire ;-\
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
9 nov. 2011 à 12:41
9 nov. 2011 à 12:41
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
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 420
9 nov. 2011 à 13:26
9 nov. 2011 à 13:26
Merci ;-))
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
9 nov. 2011 à 13:41
9 nov. 2011 à 13:41
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 $ $
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 420
9 nov. 2011 à 13:45
9 nov. 2011 à 13:45
on ne peut plus modifier ses posts ?
Non. On est revenu à l'ancienne vu les abus répétés avec cette fonction.
On peut néanmoins éditer son post pendant 3 minutes.
Non. On est revenu à l'ancienne vu les abus répétés avec cette fonction.
On peut néanmoins éditer son post pendant 3 minutes.