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 01/03/2015, à 23:56

maman

[résolu] renommer fichier en masse

bonjour,
j'ai un dossier qui contient des fichiers .png nommés : fichier-c16.png fichier-16.png fichier.png
J'ai voulu renommer tous les fichiers du type fichier-c16.png en fichier-16.png J'ai cherché sur le oueb et j'ai fini par trouver la commande rename smile
J'ai donc fait

rename  "s/c16.png/16.png/" *.png

Ça fonctionne nickel, seulement j'aimerais aussi le faire avec sed que je connais (de loin). J'ai trouvé

 for i in $(ls *.png); do mv $i ${i/c16/16}; done

S'il existe déjà des fichiers fichier-16.png, il me dit que mv identifie le même fichier. Soit. Mais je ne suis pas certaine que le "$(ls *.png)" soit le plus correct.

Donc, si vous avez une commande utilisant sed ou autre (parce que je suis certaine qu'il existe plusieurs façons de faire), je suis toute ouïte. Merci.

Dernière modification par maman (Le 02/03/2015, à 22:53)


90% of teens today would die if Facebook was completely destroyed. If you are one of the 10% that would be laughing, copy and paste this to your signature.

Hors ligne

#2 Le 02/03/2015, à 00:03

Hizoka

Re : [résolu] renommer fichier en masse

sed n'est pas fait pour renommer des fichiers, rename est le plus adapté, mais on peut aussi utiliser mv.

for i in $(ls *.png)
=>
for i in *.png
mv $i ${i/c16/16}
=>
mv "${i}" "${i/c16/16}"

permet d'eviter des soucis avec des fichiers conteant des espaces.

mais je n'ai pas compris ta demande au final...
car en effet tes fichiers porterons tous le même nom et il n'en restera plus qu'un...
ou je n'ai pas compris...


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#3 Le 02/03/2015, à 00:09

maman

Re : [résolu] renommer fichier en masse

salut,
merci pour ta réponse et tes remarques éclairantes. C'est sympa d'expliquer les commandes. smile
En fait tous les fichiers ne s'appellent pas "fichier", ils ont tous un nom différent fait de lettres et de tiret "-".

Ma demande portait sur la manière la plus correcte de renommer ces fichiers. En fafouillant, certains parlaient de sed, de perl, de find… J'ai l'impression qu'on peut s'y prendre de plein de manières pour arriver à la même chose.

Merci pour ton aide. smile


90% of teens today would die if Facebook was completely destroyed. If you are one of the 10% that would be laughing, copy and paste this to your signature.

Hors ligne

#4 Le 02/03/2015, à 01:20

pingouinux

Re : [résolu] renommer fichier en masse

Bonsoir,
Si tu utilises mv pour renommer des fichiers en masse, il est préférable d'ajouter l'option -i

mv -i ancien_nom nouveau_nom

Si un fichier portant le même nom existe déjà, il te demandera confirmation avant de l'écraser.

Hors ligne

#5 Le 02/03/2015, à 21:13

maman

Re : [résolu] renommer fichier en masse

Merci pour cette précision et pour avoir pris le temps de répondre à ma question "bête".

@+


90% of teens today would die if Facebook was completely destroyed. If you are one of the 10% that would be laughing, copy and paste this to your signature.

Hors ligne

#6 Le 02/03/2015, à 21:49

Hizoka

Re : [résolu] renommer fichier en masse

si ca repond à ta question, ajoute un [resolu] dans le titre de ton topic.


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne