OVH Cloud OVH Cloud

renommer des fichiers par lots

4 réponses
Avatar
leclerc franck
Je voudrais renommer tous les fichiers tar.gz d'un repertoire en fichier
.iso.
mv *tar.gz *.iso ne fonctionne pas, quelle serait donc la commande sachant
que le nom devant .tar.gz, je souhaite le garder.
Je pensais également * mv *[a-b]*.tar.gz *[a-b]*.iso mais c'est pas ça non
plus :-(


Merci

4 réponses

Avatar
Triple Bleu
Je voudrais renommer tous les fichiers tar.gz d'un repertoire en
fichier .iso.
mv *tar.gz *.iso ne fonctionne pas, quelle serait donc la commande
sachant que le nom devant .tar.gz, je souhaite le garder.
Je pensais également * mv *[a-b]*.tar.gz *[a-b]*.iso mais c'est pas
ça non plus :-(


Ca ne s'invente pas :-)
$ for i in *.tar.gz ; do mv $i ${i%.tar.gz}.iso ; done

--
Samuel Piau

Avatar
Triple Bleu
Je voudrais renommer tous les fichiers tar.gz d'un repertoire en
fichier .iso.
mv *tar.gz *.iso ne fonctionne pas, quelle serait donc la commande
sachant que le nom devant .tar.gz, je souhaite le garder.
Je pensais également * mv *[a-b]*.tar.gz *[a-b]*.iso mais c'est pas
ça non plus :-(


avec rename :
$ rename 's/.tar.gz$/.iso/' *.tar.gz

--
Samuel Piau

Avatar
thierry rouillon
et faire tar.gz.iso c'est pas bon ?

--
Thierry de champagne
Le pays où les bulles font la fête
"leclerc franck" a écrit dans le message news:

Je voudrais renommer tous les fichiers tar.gz d'un repertoire en fichier
.iso.
mv *tar.gz *.iso ne fonctionne pas, quelle serait donc la commande sachant
que le nom devant .tar.gz, je souhaite le garder.
Je pensais également * mv *[a-b]*.tar.gz *[a-b]*.iso mais c'est pas ça non
plus :-(


Merci




Avatar
David LE BOURGEOIS
Je voudrais renommer tous les fichiers tar.gz d'un repertoire en fichier
..iso.
mv *tar.gz *.iso ne fonctionne pas, quelle serait donc la commande sachant
que le nom devant .tar.gz, je souhaite le garder.
Je pensais également * mv *[a-b]*.tar.gz *[a-b]*.iso mais c'est pas ça non
plus :-(



Avec basename :

find . -type f -print |
while read -r fichier
do
mv "$fichier" "$(basename "$fichier" .tar.gz).iso"
done

Avec sed :

ls *.tar.gz |
sed 's/(.*)(.tar.gz)$/mv "12" "1.iso"/' |
$SHELL



Merci




De rien

--
David LE BOURGEOIS