supprimer les unité de distance (m et km) dans un csv [resolu]

supprimer les unité de distance (m et km) dans un csv [resolu] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 02-07-2009 à 09:51:41    

Bonjour
Je prépare un roadbook pour un voyage à vélo avec googlmap. Je recupère la route obtenue dans un csv.
Le soucis est quel les distances sont parfois exprimées en m et d'autres fois exprimée en km et que openoffice calc n'aime pas les unités de mesure.
Comment faire pour tout mettre en m sans que le m de mettre apparaisse?
un sed  à mon avis s'impose mais j'ai besoin de conseil.
voilà à quoi ressemble le contenu du fichier:

28,"Tourner à droite sur Chemin des Fonds de Gambais","12 m"
29,"Tourner à gauche sur Chemin des Groux","0,8 km"
30,"Tourner à gauche sur Chemin des Planches de Recoin","0,2 km"
31,"Tourner à droite vers Chemin de la Pièce d'Olivet","0,6 km"
32,"Tourner à gauche sur Chemin de la Pièce d'Olivet","0,9 km"
33,"Tourner à droite sur D61/Route de Saint-Côme","0,1 km"
34,"Tourner à gauche vers Route de Mont Mucet","0,7 km"
35,"Tourner à gauche sur Route de Mont Mucet","2,1 km"
36,"Continuer sur D305","0,3 km"
37,"Tourner à gauche sur D115","9 m"


j'ai essayé sed -i 's/,(.)\ km/\100/g' monparcours.csv    sans resultat


Message édité par isanaud le 22-08-2009 à 09:24:47
Reply

Marsh Posté le 02-07-2009 à 09:51:41   

Reply

Marsh Posté le 02-07-2009 à 10:51:09    

je viens de remarquer que l'espace entre le dernier chiffre et le km n'est pas reconnu par sed, un éditeur asii me donne  #x00a0


Message édité par isanaud le 02-07-2009 à 10:51:34
Reply

Marsh Posté le 02-07-2009 à 10:59:45    

après avoir converti les espaces en ascii par cat monparcours.csv | uni2ascii -B > monficheir.csv
la commande  
sed -i 's/\([0-9][0-9]*\),\([0-9]\) km/\1\200/g' monficheir.csv
fonctionne !

Reply

Marsh Posté le 02-07-2009 à 17:34:32    

Eh ben voilà ! Un petit [Résolu] dans le titre du sujet est toujours sympa pour les autres (tu sais, ceux qui n'ont pas eu le temps de t'aider, sur ce coup-là) ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed