[Bash] convertir les espaces " "
Résolu
Iroboot
-
Iroboot -
Iroboot -
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 ^^" ...
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 ^^" ...
A voir également:
- [Bash] convertir les espaces " "
- Espaces insécables - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Convertir epub en kindle - Guide
- Bingo bash free - Télécharger - Divers Jeux
- Convertir youtube en mp3 avec audacity - Guide
6 réponses
[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 ?
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 !!!
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 !!!
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 ;).
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 ;).
[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]$;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 =$ ...
#!/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 =$ ...