A voir également:
- Remplacer chaîne de caractere par un nombre
- Caractère ascii - Guide
- Remplacer disque dur par ssd - Guide
- Caractere speciaux - Guide
- Word remplacer un mot par un autre - Guide
- Caractère spéciaux - Guide
3 réponses
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
13 juil. 2010 à 17:00
13 juil. 2010 à 17:00
Salut,
sed -r 's/([0-9]{2})[0-9]{6}/\1/' fic
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
13 juil. 2010 à 17:25
13 juil. 2010 à 17:25
Re,
Pour nnj99
Pour nnj99
awk 'BEGIN{FS=OFS=":"}{substr($7, 1, 2); print }' fic
Utilisateur anonyme
13 juil. 2010 à 17:37
13 juil. 2010 à 17:37
en fait , j'ai un autre problème que je viens de voir, des fois j'ai plusieurs nombres séparés par une vergule "," comme suit:
6794096:ville darles,13637,arles:fournitures:adapte:02/06/2008:13:01000000, 01236528, 01569826:les fleurs d anadia,382975068-18,84260,sarrians
6794096:ville darles,13637,arles:fournitures:adapte:02/06/2008:13:01023000:marcanterra,498260041-21,80120,saint quentin en tourmont
et quand j'applique la formule, j'ai ceci:
6794096:ville darles,13637,arles:fournitures:adapte:02/06/2008:13:01, 01236528, 01569826:les fleurs d anadia,382975068-18,84260,sarrians
6794096:ville darles,13637,arles:fournitures:adapte:02/06/2008:13:01:marcanterra,498260041-21,80120,saint quentin en tourmont
sur la premiere ligne je veux garder que le premier nombre composé de deux chiffres (01) et effacer les nombres aprés la virgules (01236528, 01569826).
je fais : sed 's/,[^:]*//g' 2008.textV4 sa marche mais le probleme sa efface meme les données du champ numéro 8 qui viennent apres la virgule et ce n'est pas ce que je veux. donc j essayé comme ceci :
siham@megalink:~$ sed 's/,[^:]([0-9]{8})//g' 2008.textV4
pour dire je veux effacer les nombres de 8 chiffres apres la virgule mais sa marche pas :-((
6794096:ville darles,13637,arles:fournitures:adapte:02/06/2008:13:01000000, 01236528, 01569826:les fleurs d anadia,382975068-18,84260,sarrians
6794096:ville darles,13637,arles:fournitures:adapte:02/06/2008:13:01023000:marcanterra,498260041-21,80120,saint quentin en tourmont
et quand j'applique la formule, j'ai ceci:
6794096:ville darles,13637,arles:fournitures:adapte:02/06/2008:13:01, 01236528, 01569826:les fleurs d anadia,382975068-18,84260,sarrians
6794096:ville darles,13637,arles:fournitures:adapte:02/06/2008:13:01:marcanterra,498260041-21,80120,saint quentin en tourmont
sur la premiere ligne je veux garder que le premier nombre composé de deux chiffres (01) et effacer les nombres aprés la virgules (01236528, 01569826).
je fais : sed 's/,[^:]*//g' 2008.textV4 sa marche mais le probleme sa efface meme les données du champ numéro 8 qui viennent apres la virgule et ce n'est pas ce que je veux. donc j essayé comme ceci :
siham@megalink:~$ sed 's/,[^:]([0-9]{8})//g' 2008.textV4
pour dire je veux effacer les nombres de 8 chiffres apres la virgule mais sa marche pas :-((
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
13 juil. 2010 à 17:42
13 juil. 2010 à 17:42
Re,
~$ cat fic 6794096:ville darles,13637,arles:fournitures:adapte:02/06/2008:13:01000000:les fleurs d anadia,382975068-18,84260,sarrians 6794096:ville darles,13637,arles:fournitures:adapte:02/06/2008:13:01023000:marcanterra,498260041-21,80120,saint quentin en tourmont O6794096:ville darles,13637,arles:fournitures:adapte:02/06/2008:13:45300000:scea fanfelle gaussens,413850009-15,64110,gelos 6794096:ville darles,13637,arles:fournitures:adapte:02/06/2008:13:01000000, 01236528, 01569826:les fleurs d anadia,382975068-18,84260,sarrians 6794096:ville darles,13637,arles:fournitures:adapte:02/06/2008:13:01023000:marcanterra,498260041-21,80120,saint quentin en tourmont :~$ sed -r 's/([0-9]{2})[0-9]{6}(,.*)?:/\1:/' fic 6794096:ville darles,13637,arles:fournitures:adapte:02/06/2008:13:01:les fleurs d anadia,382975068-18,84260,sarrians 6794096:ville darles,13637,arles:fournitures:adapte:02/06/2008:13:01:marcanterra,498260041-21,80120,saint quentin en tourmont O6794096:ville darles,13637,arles:fournitures:adapte:02/06/2008:13:45:scea fanfelle gaussens,413850009-15,64110,gelos 6794096:ville darles,13637,arles:fournitures:adapte:02/06/2008:13:01:les fleurs d anadia,382975068-18,84260,sarrians 6794096:ville darles,13637,arles:fournitures:adapte:02/06/2008:13:01:marcanterra,498260041-21,80120,saint quentin en tourmont
13 juil. 2010 à 17:10
siham@megalink:~$ sed -r 's/([0-9]{2})[0-9]{6}/\1/' 2008.textV3
sed: -e expression #1, char 30: unknown option to 's'
13 juil. 2010 à 17:10
J'étais tout content de pouvoir donner une réponse par rapport à ce que vous m'avez appris aujourd'hui :(
J'avais un truc comme
mais je suis pas encore au point parce que si je réussis bien à écrire la ligne avec le print, j'arrive pas à modifier le fichier pour autant :s
13 juil. 2010 à 17:13
Ben, ça marche très bien même
13 juil. 2010 à 17:14