Remplacer les points par des espaces dans un numéro de téléphone [Sed] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 28-04-2008 à 15:59:58
Voici ce que ça donnerait en perl :
~> echo 12.34.56.78.90 | perl -pne 's/(\d\d)\.(\d\d)\.(\d\d)\.(\d\d)\.(\d\d)/$1 $2 $3 $4 $5/g' |
Y a plein d'autres méthodes pour faire ça plus joliment, mais c'est ce qui se rapproche le plus de ce que tu voulais faire. En sed, ça s'écrit à peu près pareil sauf que c'est encore moins lisible...
Marsh Posté le 28-04-2008 à 16:12:01
merci franceso mais comment l'appliquer à un fichier avec moult numéros ?
L'idée étant d'utiliser une expression régulière pour chopper tous les n° de tél. à la volée...
Marsh Posté le 28-04-2008 à 16:16:04
exactement de la même manière que si c'était sed ou n'importe quoi d'autre qui faisait la transformation :
perl -pne gnagnagna abook.mab > abook.mab.new |
Marsh Posté le 28-04-2008 à 16:21:33
Autant pour moi, je n'avais pas bien saisi la manip
Ça a fonctionné, merci bcp
Marsh Posté le 28-04-2008 à 15:48:45
Je gère tous mes contacts sous Thunderbird et j'ai eu la mauvaise habitude d'enregistrer tous les n° de téléphone sous la forme 01.02.03.04.05 au lieu de la forme (conforme à la normalisation française) 01 02 03 04 05 (avec des espaces donc).
J'essaye depuis une bonne heure de trouver la commande qui va bien, sans succès. Voilà où j'en suis resté :
Avant j'avais essayé plus simple, mais déjà sans succès :
Si quelqu'un peu me dépanner, c'est pas de refus
Message édité par ecliptux le 28-04-2008 à 16:22:07