Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 19/02/2009, à 18:03

dahu_fou

renommer les extensions fichiers en console

Bonjour à tous.

sur mon serveur j'ai besoin de renommer un dossier qui contient une centaine de photos :
elles se nomment : PICT15678.JPG par exemple et je voudrais renommer tous les fichiers en PICT15678.jpg

j'ai tenté un

mv *.JPG en *.jpg

sans succès...

quelqu'un pour m'aider ?
je precise que tout cela doit se faire OBLIGATOIREMENT par la console.

merci de votre aide:)

Dernière modification par dahu_fou (Le 21/02/2009, à 14:26)


http://nicotux.wordpress.com/

Hors ligne

#2 Le 19/02/2009, à 18:09

johnlege

Re : renommer les extensions fichiers en console

for i in *.JPG
do
j=`echo $i|sed 's/JPG$/jpg/'`
mv $i $j
done

Merci d'indiquer résolu dans le titre quand c'est résolu

Hors ligne

#3 Le 19/02/2009, à 18:14

alexduf

Re : renommer les extensions fichiers en console

si tu veux en une seule ligne tu peux aussi :

ls -1 *.JPG | awk '{printf("%s %s.jpg\n",$0,substr($0,1,length($0)-4))}' | xargs -n2 mv

mais sous forme de petit script c'est peut-être plus propre tongue

Hors ligne

#4 Le 19/02/2009, à 18:18

gaston2150

Re : renommer les extensions fichiers en console

Je viens de tester ça et ça fonctionne bien :


ls -d *.JPG | sed 's/\(.*\).JPG$/mv "&" "\1.jpg"/' | sh

Dernière modification par gaston2150 (Le 19/02/2009, à 18:19)


L'expérience est le fruit de nos erreurs.
XP3000,Geforce6600GT,2HDD sata,A7N8X-E Deluxe
Serveur : P3 500Mhz, 384MoRam, Raid1 2x320Go

Hors ligne

#5 Le 19/02/2009, à 18:43

zazake

Re : renommer les extensions fichiers en console

Il y a aussi la commande rename :

rename 's/JPG/jpg/' *

Hors ligne

#6 Le 19/02/2009, à 18:53

dahu_fou

Re : renommer les extensions fichiers en console

La commande de johnlege fonctionne à merveille.

mais celle avec rename m'interpelle, car je ne trouve pas de doc sur cette commande !
en avez-vous histoire que je comprenne la syntaxe ?

merci de vos nombreuses (et rapides) réponses !


http://nicotux.wordpress.com/

Hors ligne

#7 Le 19/02/2009, à 21:27

zazake

Re : renommer les extensions fichiers en console

La syntaxe de rename est celles des expressions régulières Perl. Une petite explication et un lien avec un tuto : http://www.commentcamarche.net/forum/af … e-commande. Et pour en savoir plus sur les expressions régulières qui sont des choses très puissantes : http://fr.wikipedia.org/wiki/Expression … li%C3%A8re.
Et bien sûr :

man rename

Hors ligne

#8 Le 19/02/2009, à 21:40

alexduf

Re : renommer les extensions fichiers en console

zazake a écrit :

Il y a aussi la commande rename :

rename 's/JPG/jpg/' *

comment il nous a calmé T_T

(gaston, sympa ton avatar ^^)

Hors ligne

#9 Le 19/02/2009, à 22:01

dahu_fou

Re : renommer les extensions fichiers en console

ahh merci beaucoup tout le monde !


http://nicotux.wordpress.com/

Hors ligne

#10 Le 21/02/2009, à 14:35

dahu_fou

Re : renommer les extensions fichiers en console

Encore une question car Piwigo me fait des misères avec mes noms de fichiers !!

jai des fichiers du type : tivoli (91).JPG

donc ok pour l'extension en *.jpg

par contre j'ai besoin de supprimer l'espace, le remplacer par un  "_" et supprimer les parenthèses...

le

man rename

est succint...

il existe bien une commande magique !?

Dernière modification par dahu_fou (Le 21/02/2009, à 14:36)


http://nicotux.wordpress.com/

Hors ligne

#11 Le 21/02/2009, à 15:00

alexduf

Re : renommer les extensions fichiers en console

après ce qu'a dit zazake, je dirais qu'un

rename 's/ /_/g' *

devrait faire l'affaire

Hors ligne

#12 Le 21/02/2009, à 15:31

dahu_fou

Re : renommer les extensions fichiers en console

alexduf a écrit :

après ce qu'a dit zazake, je dirais qu'un

rename 's/ /_/g' *

devrait faire l'affaire

exact suivi d'un

rename 's/[()]//g' *

et le tour est joué.

pour ceux que ca interesse on peut simuler le renommage avec la commande

rename -n

http://nicotux.wordpress.com/

Hors ligne