modifier le suffixe d'une liste de fichiers dans le terminal

iManu

Membre actif
23 Février 2001
633
19
Toulouse
Salut,

C'est une question idiote, mais j'ai une liste de fichiers .f à modifier en fichier .for par exemple.
Je peux me taper ça à la main, mais comme il y en a 350, c'est long...
D'où l'idée de faire un mv (ou un cp...).
mais mv *.f *.for ne marche pas.
Je suppose qu'il y a une ligne de commande appropriée pour faire ça, mais laquelle ?

Merci,

iManu
smile.gif
 
voila, j'ai ecris un petit script qui fait ca

#!/bin/sh
for ID in `ls *$1`; do
mv $ID `basename $ID $1`$2;
done

met le dans un fichier texte, appelle le chsuf par exemple
puis change les droits

chmod a+x chsuf

et va dans le repertoire ou tu veux changer les noms

par exemple tape

chsuf .jpg .gif

n'oublie pas les `.` devant les suffixes

bonne chance ;-)
 
J'ai profité de la question de Manu pour réviser un peu mes cours de shell-script, et j'ai essayé de faire un truc. Mais ça ne marche pas…
frown.gif

En fait, on m'a enseigné que quand on a un nom de fichier qui se termine par une extension, en faisant par exemple :

set nom = essai.txt
$nom:r

on obtenait "essai". Mais sous X, il n'a pas l'air de reconnaître les :r, :e, :h, et :t. Il y a une raison (j'utilise dans les deux cas /bin/sh) ? Au passage, et dans le même genre, Mac OS X refuse mon "set nom = essai.txt", mais veut à la place "nom = essai.txt".

Conclusion, pas la peine que je me replonge trop dans le shell-script. J'en reste à l'AppleScript. (Au passage, il y avait dans /Library/Scripts/Finder Scripts/ un script qui faisait exactement ça.)
 
Merci à tous les deux !
Ca marche.

Tu vois Gwenn, faut vraiement que tu viennes
wink.gif


A +
 
euh, c'est mon 100 post ;-) ca se fete

bon, j'ai essaie ce que tu as dis Gwen,

set nom = essai.txt
$nom:r

ca marche tres bien en tcsh
smile.gif

peut etre pas en sh...

et de rien pour le script
smile.gif
 
Effectivement, ça tourne. Donc on peut aussi faire comme ça (en remplaçant .new par l'extension souhaitée):

<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>#! /bin/tcsh

set var = `ls`
foreach i ($var)
mv $i $i:r.new
end<HR></BLOCKQUOTE>

Sauf que ma version rate son coup sur les fichiers comportant un espace. Et bien sûr, je pourrais l'améliorer pour qu'elle prenne l'extension en argument.
Mais bon, finalement, je vais peut-être m'y intéresser de nouveau à ce shell-script.
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par Gwenhiver:

Mais bon, finalement, je vais peut-être m'y intéresser de nouveau à ce shell-script.
<HR></BLOCKQUOTE>
grin.gif
grin.gif


Je ne te reconnaît pas là Gwen
grin.gif
grin.gif
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par [MGZ]Toine:
Je ne te reconnaît pas là Gwen
grin.gif
grin.gif
<HR></BLOCKQUOTE>

Ben j'essaye de faire des efforts...
wink.gif
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par William:
#!/bin/sh
for ID in `ls *$1`; do
mv $ID `basename $ID $1`$2;
done

met le dans un fichier texte, appelle le chsuf par exemple
puis change les droits

chmod a+x chsuf
<HR></BLOCKQUOTE>

Et ben ! Le DOS c'est plus simple non ?
rolleyes.gif
Bon j'espère que des scripts tout faits à tout faire qui n'obligent pas à passer par le teminal débarqueront rapidement...

'+
 
Tu es dans le forum Unix, Linux et OpenSource, il existe des solutions plus simple avec interface graphique, mais c'etait pas la question.

Faut que tu sashes que si c'est facile d'utiliser une interface, c'est parce qu'il y a des gens qui on resolu le probleme a ta place. Et ici, en plus on le fait pour aider.

Non, dos c'est merdique a cote d'unix.

Et si quand on repond gentiment aux questions on se fait remballer, je sais pas si je vais continuer a le faire, je suis pas oblige...
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par William:
Tu es dans le forum Unix, Linux et OpenSource, il existe des solutions plus simple avec interface graphique, mais c'etait pas la question. <HR></BLOCKQUOTE>

Ben en fait c'est le sujet qui m'a attiré, pas le forum...
wink.gif


<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Faut que tu sashes que si c'est facile d'utiliser une interface, c'est parce qu'il y a des gens qui on resolu le probleme a ta place. Et ici, en plus on le fait pour aider.<HR></BLOCKQUOTE>

Ah ben tant mieux alors, au contraire, je vous laisse bosser moi !
grin.gif


<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Non, dos c'est merdique a cote d'unix.<HR></BLOCKQUOTE>

Je sais bien, mais c'était juste une constatation de la part d'un utilisateur qui aime bien les interfaces graphiques et simples en général.

<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Et si quand on repond gentiment aux questions on se fait remballer, je sais pas si je vais continuer a le faire, je suis pas oblige...<HR></BLOCKQUOTE>

Houlà, mais je n'ai remballé personne moi, il y a méprise ! Encore une fois je constatais juste une certaine complexité et je me posais des questions d'utilisateur curieux et pas trop téméraire, c'est tout.
rolleyes.gif
Au contraire, n'hésite pas à continuer à contribuer à l'enrichissement des connaissances des autres utilisateurs comme moi !

'+

[19 octobre 2001 : message édité par Le Gognol]
 
Oui, encore une fois merci William.
Ca fait un peu feignant, mais les forums sont géniaux pour poser des questions simples et avoir des réponses rapides - ce qui permet de bosser plus vite ET d'apprendre.

Pour Le Gognol, une remarque:
Ce qui m'a séduit sur Mac, c'est l'interface.
Ce qui m'a séduit dans ce que j'entrevois d'unix sur ma station sun c'est la puissance - tu peux faire n'importe quoi (bon, l'inconvénient c'est aussi que tu peux faire réellement n'importe quoi
grin.gif
).

Bref avec OsX, je crois que je vais m'éclater, mais j'ai besoin d'apprendre, et c'est pas facile quand il faut aussi produire...

En ce qui concerne l'interface, Gwen a fait remarquer que les scripts permettaient de faire ce que je recherchais - ce qui me donne une raison de regarder AppleScript de près - dès que possible...
 
Vous inquitez pas, je vais pas m'arreter.
C'est vrai que ca a l'air un peu complexe vu comme ca, mais normalement l'utilisateur final ne voit rien ;-)