Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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]

fav a écrit :

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]

Hizoka a écrit :

Quel est le caractere d'un espace a mettre dans l'editeur?

gl38 a écrit :

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