Rechercher : dans
Par :

[Bash] convertir les espaces " "

Dernière réponse le 20 avr 2009 à 13:39:50 Iroboot, le 17 avr 2009 à 13:54:39 
 Signaler ce message aux modérateurs

Bonjour,
Cette fois ci j'espere poster dans le bon topic :)

Voila, c'est dans la continuité de mon projet en bash, le dernier programme fonctionne a merveille, je me rapproche de plus en plus de mon objectif final !
J'ai décidé de faire une opération de conversion pas très compliquée : remplacer les espaces " " en espace - point virgule - espace " ; "
Je me suis inspiré d'un script connu qui convertit les espaces en underscore, mais à priori il y a un petit soucis que je n'arrive pas à comprendre, un petit truc qui fait que l'engrenage ne tourne pas rond :

mon script :

#!/bin/bash

cat rapport.txt

for i in " "
do mv "$i" `echo $i | tr " " " ; " `; done

grep $? >> rapport.txt


lorsque je lance le script il, il m'affiche le contenu du fichier rapport.txt et :
mv: missing destination file operand after ` '
Try `mv --help' for more information.


en plus je suis obligé de l'arrêter avec ctrl+C ... Hmmm y a un truc qui cloche vraiment ^^" ...

Meilleures réponses pour « [Bash] convertir les espaces " " » dans :
Sed - Conversion retours chariots DOS (CRLF) / UNIX (LF) VoirConversion format de fichier DOS UNIX / UNIX DOS Préambule Ce qu'il faut savoir Conversion DOS vers UNIX Conversion UNIX vers DOS Préambule Il existe déjà des utilitaires (dos2unix et unix2dos) qui s'acquittent très bien ce...
Linux - Ubuntu - Convertir un DVD en DivX (avec HandBrake) VoirHandBrake est un bon logiciel pour convertir des vidéos, par exemple des DVD en DivX. Voici comment procéder sous Ubuntu: Ajouter les dépôts pour Handbrake sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 62D38753 sudo bash -c 'echo...
[PDF] Convertir des PDF en images (JPEG, BMP, GIF, etc...) VoirSi vous avez des documents PDF et que vous voulez les convertir en images (JPEG, GIF, BMP, ou n'importe quel format), de manière à les exploiter, par exemple dans un logiciel d'OCR ou de retouche/création d'images : Note : Cet article présente une...
Télécharger IPod Converter VoirDestiné aux heureux possesseurs d'iPod vidéo, le logiciel iPod Converter permet de convertir des fichiers au format MPEG, AVI, Quicktime et WMV vers les formats Mpeg4 et H264, les seuls formats supportés par l'iPod vidéo. Mise à jour effectuée le...
Les espaces de nom XML VoirIntroduction aux espaces de noms XML définit un système permettant de créer des balises modulaires, c'est-à-dire pouvoir donner la possibilité d'utiliser des balises provenant de différents langages à balise au sein d'un même document grâce à la...

1

jipicy, le 17 avr 2009 à 14:01:33

Salut,

Ils sont où tes espaces ? Dans un fichier ? Dans des noms (de fichiers, de répertoires, etc.) ?

for i in " " ça ne veut rien dire !!!
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

2

Iroboot, le 17 avr 2009 à 16:20:58

for i in " " ça ne veut rien dire !!!

J'pensais qu'en faisant cela, il allait me selectionner tous les espaces de mon fichier =$ ...

Mes espaces se trouvent dans un fichier qui se nomme (en effet je viens de voir que je ne l'ai pas préciser dans mon script) test.txt

Le but étant qu'à partir de ce fichier test.txt :

bonjour je m appel toto

on obtienne un fichier rapport.txt :

bonjour ; je ; m ; appel ; toto

Merci d'avance ;).

Répondre à Iroboot

3

jipicy, le 17 avr 2009 à 16:28:14

[tmpfs]$ cat test.txt
Mes espaces se trouvent dans un fichier qui se nomme test.txt

Le but étant qu'à partir de ce fichier test.txt :

bonjour je m appel toto

on obtienne un fichier rapport.txt :

[tmpfs]$ while read line;do echo ${line// / ; } >> rapport.txt;done < test.txt

[tmpfs]$ cat rapport.txt
Mes ; espaces ; se ; trouvent ; dans ; un ; fichier ; qui ; se ; nomme ; test.txt

Le ; but ; étant ; qu'à ; partir ; de ; ce ; fichier ; test.txt ; :

bonjour ; je ; m ; appel ; toto

on ; obtienne ; un ; fichier ; rapport.txt ; :

[tmpfs]$  
;-))
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

4

Iroboot, le 17 avr 2009 à 17:14:22

Alors si je resume bien tes modifications de script jipicy, je dois avoir :

#!/bin/bash

cat test.txt

while read line ; do echo ${line// / ; } >> rapport.txt ; done < test.txt

cat rapport.txt



J'ai essayé et il me sort tous les noms de mes fichiers avec la remarque :
X ans X are the same file

j'ai du mal recopier un truc la je sens =$ ...

Répondre à Iroboot

5

jipicy, le 17 avr 2009 à 17:27:28
  • +1

[tmpfs]$ cat foo.sh
#!/bin/bash

cat test.txt

while read line ; do echo ${line// / ; } >> rapport.txt ; done < test.txt

cat rapport.txt



[tmpfs]$ ./foo.sh
Mes espaces se trouvent dans un fichier qui se nomme test.txt

Le but étant qu'à partir de ce fichier test.txt :

bonjour je m appel toto

on obtienne un fichier rapport.txt :
Mes ; espaces ; se ; trouvent ; dans ; un ; fichier ; qui ; se ; nomme ; test.txt

Le ; but ; étant ; qu'à ; partir ; de ; ce ; fichier ; test.txt ; :

bonjour ; je ; m ; appel ; toto

on ; obtienne ; un ; fichier ; rapport.txt ; :
[tmpfs]$
Chez moi ça marche très bien ;-\

T'es sous Linux ? Quelle distrib ?
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

6

 Iroboot, le 20 avr 2009 à 13:39:50

Je suis sous une distrib de bash.

Etrange ! Je viens de tester cette aprem et la ca marche ! Peut être que mon ancien copier/coller n'avait pas très bien fonctionner ou qu'il y avait un soucis quelque part mystere ... En tout cas merci pour tout ! :D

Répondre à Iroboot