GNT sans publicité, site mobile, fonctionnalitées exclusives...

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
Lire les 11 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Calimero
Le #1718708
Jean-Marie Delapierre wrote:
quelqu'un peut-il me rappeler comment
réaliser proprement cette tâche ?


groups.google.com ?

--
@+
Calimero

lhabert
Le #1718707
Jean-Marie Delapierre :

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.


Et des *, et des [, et un « doc » non final (sauf en début de ligne).

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 ?


mv -- "$i" "${i%doc}"rtf

Jean-Marie Delapierre
Le #1718705
Le Sat, 18 Feb 2006 11:35:34 +0000, Luc Habert a écrit :

Jean-Marie Delapierre :

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.


Et des *, et des [, et un « doc » non final (sauf en début de ligne).

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 ?


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


Jean-Marie Delapierre
Le #1718704
Le Sat, 18 Feb 2006 12:34:41 +0100, Calimero a écrit :

Jean-Marie Delapierre wrote:
quelqu'un peut-il me rappeler comment
réaliser proprement cette tâche ?


groups.google.com ?


????

Quand j'ai écrit qu'une recherche sur les archives n'avait rien donné,
cela voulait dire sur groups.google.com.

Cordialement.

Jean-Marie


lhabert
Le #1718703
Jean-Marie Delapierre :

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.


Bein si.


Publicité
Suivre les réponses
Poster une réponse
Anonyme