#1 Le 23/04/2012, à 12:05
- fav
enlever des espaces dans un fichier txt [résolue]
olBonjour,voici mon problème.
12 000.00;15 000; 17 000,05;...
Donc , je veux enlever tout ces espaces entres ces nombres mais comment?
Ps:il en a des tonnes de données dans le fichier que je peux pas me permettre de de les traiter un a un avec la touche RET.Si quelqu'un en saurait...
Merci !!!!
Dernière modification par fav (Le 23/04/2012, à 20:48)
On ne va jamais aussi loin que lorsqu'on ne sait pas où l'on va.
Hors ligne
#2 Le 23/04/2012, à 12:16
- Hibou57
Re : enlever des espaces dans un fichier txt [résolue]
Si tu as Geany, alors tu peux utiliser la fonction de remplacement avec une expression régulière. Gedit ne supporte pas les expressions régulières pour le remplacement, sauf via un plugin, mais il est horrible et buggé.
Sinon, tu peux utiliser Sed.
Dernière modification par Hibou57 (Le 23/04/2012, à 12:17)
Hajimemashteeeee… \(^o^)/ Tachikoma desu (^_^;)
Le saviez‑vous : le j’m’en foutisme est la cause de la plupart des fléaux du monde contemporain.
Mangez des standards : un grand bol de Standard tous les matins, et vous débutez la journée en pleine forme !
bulleforum.net — Forum de discussions, La Bulle (papotage de la vie courante ou choses trop sérieuses)
Hors ligne
#3 Le 23/04/2012, à 12:21
- gl38
Re : enlever des espaces dans un fichier txt [résolue]
sed -e "s/ //g" fichier >sortie
devrait te donner un fichier sortie sans espaces.
Cordialement,
Guy
Hors ligne
#4 Le 23/04/2012, à 18:24
- Hizoka
Re : enlever des espaces dans un fichier txt [résolue]
et si tu veux modifieer le fichier original directement avec sed :
sed -i 's/ //g' fichier
ou n'importe quel logiciel d'edition, tu recherche l'option "remplacer" et tu remplaces les espaces par rien
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#5 Le 23/04/2012, à 18:42
- fav
Re : enlever des espaces dans un fichier txt [résolue]
Voici une portion concrete de ces fameux donnee:
19/02/2010;12 000,00;492413
19/02/2010;537 600,00;492413
19/02/2010;69 120,00;492413
19/02/2010;46 080,00;492413
19/02/2010;24 000,00;492413
20/02/2010;408 000,00;492413
19/02/2010;24 000,00;492413
La commande
sed -e "s/ //g" fichier >sortie
n'as pas su enlever l'espace entre ces nombres 408 000,00 en 408000.
S'il vous plait ,si vous avez une idée de faire???
On ne va jamais aussi loin que lorsqu'on ne sait pas où l'on va.
Hors ligne
#6 Le 23/04/2012, à 18:47
- fav
Re : enlever des espaces dans un fichier txt [résolue]
Cette deuxieme commande n'as pas marche aussi!!!!
sed -i 's/ //g' fichier
Pour l’éditeur de texte que a mettre dans rechercher et que mettre dans remplacer...
Ps:Le fichier d'origine est en csv!!!
Dernière modification par fav (Le 23/04/2012, à 19:03)
On ne va jamais aussi loin que lorsqu'on ne sait pas où l'on va.
Hors ligne
#7 Le 23/04/2012, à 18:53
- gl38
Re : enlever des espaces dans un fichier txt [résolue]
Tu tapes tes commandes dans quel dossier ? sed marche parfaitement et depuis longtemps !
La commande
sed -e "s/ //g" fichier >sortie
remplace les espaces de fichier par rien y compris dans "408 000".
Ou alors ce n'est pas un espace.
Cordialement,
Guy
Hors ligne
#8 Le 23/04/2012, à 18:53
- Nasman
Re : enlever des espaces dans un fichier txt [résolue]
Ouvre ton fichier avec un éditeur hexa pur voir quel est le code du caractère qui "ressemble" à un espace mais qui n'en serait pas.
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#9 Le 23/04/2012, à 18:59
- Hizoka
Re : enlever des espaces dans un fichier txt [résolue]
Pour l’éditeur de texte que a mettre dans rechercher et que mettre dans remplacer...
ou n'importe quel logiciel d'edition, tu recherche l'option "remplacer" et tu remplaces les espaces par rien
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#10 Le 23/04/2012, à 19:16
- fav
Re : enlever des espaces dans un fichier txt [résolue]
Quel est le caractere d'un espace a mettre dans l'editeur?
Tu tapes tes commandes dans quel dossier ? sed marche parfaitement et depuis longtemps !
La commande
sed -e "s/ //g" fichier >sortie
remplace les espaces de fichier par rien y compris dans "408 000".
Ou alors ce n'est pas un espace.
je le tape dans mon dossier personnelle a l'occurence dans
~/
Ps:Rien des espaces n'est supprime avec cette commande
On ne va jamais aussi loin que lorsqu'on ne sait pas où l'on va.
Hors ligne
#11 Le 23/04/2012, à 19:28
- fav
Re : enlever des espaces dans un fichier txt [résolue]
Voici l'extrait sous emacs en hexa pur :
87654321 0011 2233 4455 6677 8899 aabb ccdd eeff 0123456789abcdef
00000000: 4461 7465 536f 696e 3b4d 7452 656d 623b DateSoin;MtRemb;
00000010: 4e75 6d43 6f6e 7472 6174 0a31 392f 3032 NumContrat.19/02
00000020: 2f32 3031 303b 3132 c2a0 3030 302c 3030 /2010;12..000,00
00000030: 3b34 3932 3431 330a 3139 2f30 322f 3230 ;492413.19/02/20
00000040: 3130 3b35 3337 c2a0 3630 302c 3030 3b34 10;537..600,00;4
00000050: 3932 3431 330a 3139 2f30 322f 3230 3130 92413.19/02/2010
00000060: 3b36 39c2 a031 3230 2c30 303b 3439 3234 ;69..120,00;4924
00000070: 3133 0a31 392f 3032 2f32 3031 303b 3436 13.19/02/2010;46
00000080: c2a0 3038 302c 3030 3b34 3932 3431 330a ..080,00;492413.
00000090: 3139 2f30 322f 3230 3130 3b32 34c2 a030 19/02/2010;24..0
000000a0: 3030 2c30 303b 3439 3234 3133 0a32 302f 00,00;492413.20/
000000b0: 3032 2f32 3031 303b 3430 38c2 a030 3030 02/2010;408..000
000000c0: 2c30 303b 3439 3234 3133 0a31 392f 3032 ,00;492413.19/02
000000d0: 2f32 3031 303b 3234 c2a0 3030 302c 3030 /2010;24..000,00
On ne va jamais aussi loin que lorsqu'on ne sait pas où l'on va.
Hors ligne
#12 Le 23/04/2012, à 19:32
- pingouinux
Re : enlever des espaces dans un fichier txt [résolue]
Salut,
C'est que ce n'est sans doute pas un fichier texte. Que donne la commande ?
file fichier
Dans le fichier en hexa, il n'y a aucun espace (0x20).
Ajouté : c2a0 est un espace insécable
<U00A0> /xc2/xa0 NO-BREAK SPACE
Dernière modification par pingouinux (Le 23/04/2012, à 20:10)
Hors ligne
#13 Le 23/04/2012, à 19:41
- pingouinux
Re : enlever des espaces dans un fichier txt [résolue]
Ceci devrait marcher :
sed -e "s/\xc2\xa0//g" fichier
Hors ligne
#14 Le 23/04/2012, à 20:09
- fav
Re : enlever des espaces dans un fichier txt [résolue]
$ file a.txt
a.txt: UTF-8 Unicode text
Oui!!! çà a marcher !!! youpi!!!!
Svp: Pouvez -vous m'expliquer un peu pourquoi ça a marcher ?
Comment avez vous trouvez la commande a mettre et cette espace qu'en est -il vraiment pour que sed n'as pas marche au début!
Dernière modification par fav (Le 23/04/2012, à 20:14)
On ne va jamais aussi loin que lorsqu'on ne sait pas où l'on va.
Hors ligne
#15 Le 23/04/2012, à 20:17
- fav
Re : enlever des espaces dans un fichier txt [résolue]
Par quel commande sait-on que c2a0 est un espace insécable?Comment on lit un fichier en hexa
On ne va jamais aussi loin que lorsqu'on ne sait pas où l'on va.
Hors ligne
#16 Le 23/04/2012, à 20:35
- pingouinux
Re : enlever des espaces dans un fichier txt [résolue]
Voici un extrait du dump en hexa de fav #11 :
000000b0: 3032 2f32 3031 303b 3430 38c2 a030 3030 02/2010;408..000
Les valeurs hexa sont au milieu, le texte clair à droite.
On peut trouver ici la correspondance des caractères Unicode <=> UTF-8 <=> Description
Hors ligne