Entourer code postal avec sed

Résolu/Fermé
Poireau007 Messages postés 83 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 17 octobre 2012 - 5 mars 2010 à 15:56
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 5 mars 2010 à 17:23
Bonjour,
Bon j'ai un ptit soucis d'expression régulière, décidement je m'ensortirais jamais !

j'ai ce type de ligne :

'Magasin A',' 25 Av Jean Jaur\'e8s 08000 Charleville M\'e9zi\'e8re','T\'e9l : 01 01 01 01 01'),\


que je vaux changer en :

'Magasin A',' 25 Av Jean Jaur\'e8s ','08000',' Charleville M\'e9zi\'e8re','T\'e9l : 01 01 01 01 01'),\


Grosso modo j'entoure le code postal avec : ','

j'essaie de récupérer le cp avec [0-9][0-9][0-9][0-9][0-9] mais après je bloque...

des idées ?
A voir également:

2 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
5 mars 2010 à 16:35
Salut,

[tmpfs]$ echo $A
Magasin A',' 25 Av Jean Jaurès 08000 Charleville Mézière','Tél : 01 01 01 01 01'),\

[tmpfs]$ echo $A | sed "s/ \([0-9]\{5\}\) /','\1','/"
Magasin A',' 25 Av Jean Jaurès','08000','Charleville Mézière','Tél : 01 01 01 01 01'),\

[tmpfs]$

;-))
1
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 mars 2010 à 16:46
;-)

En fait on peut faire comme ça, non?
Pas besoin de capture
$ cat plop | sed "s/[0-9]\{5\}/','&','/"
'Magasin A',' 25 Av Jean Jaur\'e8s ','08000',' Charleville M\'e9zi\'e8re','T\'e9l : 01 01 01 01 01'),\

0
Poireau007 Messages postés 83 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 17 octobre 2012 15
5 mars 2010 à 16:47
Arf oui c'est ça !
Merci !
en fait c'est 5 chiffres à la suite que je ne savait pas dire ! apparement c'est :\{5\}
Pas trop clair dans la doc :( ccm
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
5 mars 2010 à 16:49
Salut,

Disons que j'ai juste pris en compte les espaces avant et après au cas où on trouverait une autre chaîne de caractères avec au moins 5 chiffres (comme par exemple un numéro de téléphone sans espaces, ex 0101010101)...
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020
5 mars 2010 à 16:52
moi aussi ;-)
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897 > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
5 mars 2010 à 16:53
Ben voui j'avais vu ;-)

Donc ta demande est du coup un peu farfelue ;-D
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 mars 2010 à 16:36
Salut,

Comme ça?

~$ cat plop
'Magasin A',' 25 Av Jean Jaur\'e8s 08000 Charleville M\'e9zi\'e8re','T\'e9l : 01 01 01 01 01'),\
~$ cat plop | sed -r "s/ *([0-9]{5}) */ ','\1',' /"
'Magasin A',' 25 Av Jean Jaur\'e8s ','08000',' Charleville M\'e9zi\'e8re','T\'e9l : 01 01 01 01 01'),\
~$ cat plop | sed "s/ *\([0-9]\{5\}\) */ ','\1',' /"
'Magasin A',' 25 Av Jean Jaur\'e8s ','08000',' Charleville M\'e9zi\'e8re','T\'e9l : 01 01 01 01 01'),\

0
Poireau007 Messages postés 83 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 17 octobre 2012 15
5 mars 2010 à 16:48
oui c'est ça :)
0