Rajout d'un préfixe sur numéro de téléphone
Résolu/Fermé
JsuisNul
Messages postés
122
Date d'inscription
mercredi 13 février 2013
Statut
Membre
Dernière intervention
14 février 2024
-
2 sept. 2019 à 17:25
JsuisNul Messages postés 122 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 14 février 2024 - 1 oct. 2019 à 16:47
JsuisNul Messages postés 122 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 14 février 2024 - 1 oct. 2019 à 16:47
A voir également:
- Rajout d'un préfixe sur numéro de téléphone
- Règle en cm sur téléphone - Guide
- Numero prive - Guide
- Prefixe telephone france - Guide
- Schéma téléphone oublié - Guide
- Recherche par numéro de téléphone ✓ - Forum Mobile
3 réponses
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
4 sept. 2019 à 14:45
4 sept. 2019 à 14:45
$ awk 'BEGIN {FS=OFS=";"} $18 !~ /^'\''(+|00)/ {sub("0", "+33", $18)} {print $0}' fichier2
'0449003021';'00000162';'00000162';'BOBO';;'TOTO';'bobo.toto@free.fr';;;'1970-01-20';'06 RUE ALMODIS';;;'02880';'SOISSONS';'FR';;'+33657087624';;;;;'FR';'2005-08-28';;;;;;;;;;;;;;;;;;'ATE';'078';'DERTIS AERO';'078021';'DERTIS AERO. BLAG';'NON CADRE';
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 407
2 sept. 2019 à 17:37
2 sept. 2019 à 17:37
Salut,
Sous réserve qu'il n'existe aucun autre champs commençant par un zéro suivi d'un chiffre entre 1 et 9…
Sous réserve qu'il n'existe aucun autre champs commençant par un zéro suivi d'un chiffre entre 1 et 9…
sed 's/;0\([1-9]\)/;+33\1/'devrait le faire ;-)
JsuisNul
Messages postés
122
Date d'inscription
mercredi 13 février 2013
Statut
Membre
Dernière intervention
14 février 2024
1
Modifié le 3 sept. 2019 à 14:04
Modifié le 3 sept. 2019 à 14:04
Merci Zip31,
Ta solution me convient bien car plus simple à intégrer le script existant mais j'ai d'autre champs pouvant commencer par un zéro.
Comme pour la réponse de Dubcek ci-dessous, est il possible de préciser le champ impacté ?
Merci d'avance.
Ta solution me convient bien car plus simple à intégrer le script existant mais j'ai d'autre champs pouvant commencer par un zéro.
Comme pour la réponse de Dubcek ci-dessous, est il possible de préciser le champ impacté ?
Merci d'avance.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 407
>
JsuisNul
Messages postés
122
Date d'inscription
mercredi 13 février 2013
Statut
Membre
Dernière intervention
14 février 2024
3 sept. 2019 à 16:22
3 sept. 2019 à 16:22
mais j'ai d'autre champs pouvant commencer par un zéro.Avant ou après ?
Affiche-nous un exemple plus précis (même si ce n'est pas les vraies données, fait en sorte qu'on soit proche de la réalité).
JsuisNul
Messages postés
122
Date d'inscription
mercredi 13 février 2013
Statut
Membre
Dernière intervention
14 février 2024
1
3 sept. 2019 à 16:54
3 sept. 2019 à 16:54
Ok. Ci-joint une ligne du fichier.
Le numéro de tel est dans le champ 18.
En gras tout les champs pouvant commencé par un zéro. Je ne l'avais pas préciser mais tous les champs sont bornés avec des simples cotes.
'0449003021';'00000162';'00000162';'BOBO';;'TOTO';'bobo.toto@free.fr';;;'1970-01-20';'06 RUE ALMODIS';;;'02880';'SOISSONS';'FR';;'0657087624';;;;;'FR';'2005-08-28';;;;;;;;;;;;;;;;;;'ATE';'078';'DERTIS AERO';'078021';'DERTIS AERO. BLAG';'NON CADRE';
Merci Zipe31
Le numéro de tel est dans le champ 18.
En gras tout les champs pouvant commencé par un zéro. Je ne l'avais pas préciser mais tous les champs sont bornés avec des simples cotes.
'0449003021';'00000162';'00000162';'BOBO';;'TOTO';'bobo.toto@free.fr';;;'1970-01-20';'06 RUE ALMODIS';;;'02880';'SOISSONS';'FR';;'0657087624';;;;;'FR';'2005-08-28';;;;;;;;;;;;;;;;;;'ATE';'078';'DERTIS AERO';'078021';'DERTIS AERO. BLAG';'NON CADRE';
Merci Zipe31
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 407
>
JsuisNul
Messages postés
122
Date d'inscription
mercredi 13 février 2013
Statut
Membre
Dernière intervention
14 février 2024
3 sept. 2019 à 17:10
3 sept. 2019 à 17:10
Toujours sous réserve qu'aucun autre champs ne ressemble à un numéro de téléphone (comme le champ 1 par exemple) ;-\
À savoir le numéro de champs, la solution de dubcek me paraît beaucoup plus appropriée ;-)
sed "s/'0\([1-9][0-9]\{8\}\)/'+33\1/2"
À savoir le numéro de champs, la solution de dubcek me paraît beaucoup plus appropriée ;-)
JsuisNul
Messages postés
122
Date d'inscription
mercredi 13 février 2013
Statut
Membre
Dernière intervention
14 février 2024
1
3 sept. 2019 à 17:30
3 sept. 2019 à 17:30
Ok super Zip31, merci pour ton aide. Je vais regarder la solution de dubcek dans ce cas si sa solution est plus sur.
Merci encore ;-)
Merci encore ;-)
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
3 sept. 2019 à 13:00
3 sept. 2019 à 13:00
hello
$ awk 'BEGIN {FS=OFS=";"} $4 !~ /^(+|00)/ {sub("0", "+33", $4)} {print $0}' fichier
AAAAA;BBBBBB;CCCCCC;+33601030204;DDDDD;EEEEE
AAAAA;BBBBBB;CCCCCC;+33601155204;DDDDD;EEEEE
AAAAA;BBBBBB;CCCCCC;00268601030204;DDDDD;EEEEE
AAAAA;BBBBBB;CCCCCC;+268601030204;DDDDD;EEEEE
JsuisNul
Messages postés
122
Date d'inscription
mercredi 13 février 2013
Statut
Membre
Dernière intervention
14 février 2024
1
3 sept. 2019 à 14:03
3 sept. 2019 à 14:03
Merci Dubcek,
Merci pour ta solution, comme dit plus haut la réponse de Zip31 me convient mieux car plus facile à rajouter dans mon script mais en fonction de la réponse de Zip31 j'utiliserai quand même ta solution si besoin.
Merci dans tout les cas ;-)
Merci pour ta solution, comme dit plus haut la réponse de Zip31 me convient mieux car plus facile à rajouter dans mon script mais en fonction de la réponse de Zip31 j'utiliserai quand même ta solution si besoin.
Merci dans tout les cas ;-)
Modifié le 1 oct. 2019 à 09:53
Je reviens vers vous car je viens de remarquer qu'il y a des cas ou ça ne fonctionne pas correctement :
j'ai des résultats comme suit :
+33664450205 => +3366445+33205
+33609687332 => +336+339687332
+33684453033 => +33684453+3333
En gros j'ai un pb avec les numéros qui sont déjà au format international
Je remets la ligne de commande tels que je l'ai écris:
awk 'BEGIN {FS=OFS=";"} $18 !~ /^(+|00)/ {sub("0", "+33", $18)} {print $0}' Fic1 > Fic2
Quelqu'un peut il m'aider svp car il me semble que la substitution ne doit se faire qu'en début de champ ?
Merci d'avance.
Modifié le 1 oct. 2019 à 11:59
y a-t-il des espaces au début ?
montre des données
1 oct. 2019 à 12:15
En fait il faudrait une condition supplémentaire à ta syntaxe qui vérifie juste que le "0" à remplacer par "+33" soit bien en début de champ et pas ailleurs.
Avec l'exemple donné, on voit bien qu'il remplace tous les zéros rencontrés parce que le champ commence par un "+", ce qui valide bien la condition ( );-(
+33664450205 => +3366445+33205
+33609687332 => +336+339687332
+33684453033 => +33684453+3333
Modifié le 1 oct. 2019 à 12:56
en remplaçant $18 par $4,ca traite correctement les données du post #1
1 oct. 2019 à 13:12