Script bash
Le
Jean-Marie Delapierre
Bonjour,
Il y a quelques temps, un contributeur du Ng avait posé la question du
remplacement de terminaisons de noms de fichiers (du genre : remplacer
*.doc par *.rtf).
Naivement, j'avais proposé un script du genre :
#!/bin/bash
for i in $(ls *.doc)
do mv $i $(echo $i|sed -e s/.doc/.rtf/)
done
et je m'étais fait fort justement reprendre de volée à la raison (entre
autres) que ce script ne marche pas si les noms de fichiers comportent des
espaces. Puis l'un des contributeurs avait proposé un script extrèmement
propre et concis que j'aimerais bien retrouver. Une recherche sur les
archives n'ayant rien donné, quelqu'un peut-il me rappeler comment
réaliser proprement cette tâche ?
Cordialement.
Jean-Marie
Il y a quelques temps, un contributeur du Ng avait posé la question du
remplacement de terminaisons de noms de fichiers (du genre : remplacer
*.doc par *.rtf).
Naivement, j'avais proposé un script du genre :
#!/bin/bash
for i in $(ls *.doc)
do mv $i $(echo $i|sed -e s/.doc/.rtf/)
done
et je m'étais fait fort justement reprendre de volée à la raison (entre
autres) que ce script ne marche pas si les noms de fichiers comportent des
espaces. Puis l'un des contributeurs avait proposé un script extrèmement
propre et concis que j'aimerais bien retrouver. Une recherche sur les
archives n'ayant rien donné, quelqu'un peut-il me rappeler comment
réaliser proprement cette tâche ?
Cordialement.
Jean-Marie

Poser une question


groups.google.com ?
--
@+
Calimero
Et des *, et des [, et un « doc » non final (sauf en début de ligne).
mv -- "$i" "${i%doc}"rtf
Merci de ta contribution.
Cependant, cela ne règle pas le problème des noms de fichiers contenant
des espaces.
Cordialement.
Jean-Marie
????
Quand j'ai écrit qu'une recherche sur les archives n'avait rien donné,
cela voulait dire sur groups.google.com.
Cordialement.
Jean-Marie
Bein si.