Comment puis-je renommer par lots un ensemble de noms de fichiers sous Linux?


9

J'ai un dossier avec des images nommé:

pic001-2.png
pic002-2.png
pic003-2.png 

Comment les renommer comme suit?

pic001.png
pic002.png
pic003.png 

J'ai essayé mv "pic*-2.png" "pic*.png"mais j'obtiens toujours des erreurs.

Réponses:


11

Cela supprimera le premier -2trouvé dans chaque nom de fichier:

for f in pic*-2.png; do
  mv "$f" "${f/-2/}"
done

Pour le tester, ajoutez simplement echola mvligne.


9

Vous avez besoin de la commande «renommer» correctement nommée!

Essayez quelque chose comme ceci:

rename 's/(pic\d+)-\d\.jpg/$1.jpg/' pic*.jpg

Il prend une expression régulière perl comme premier argument, donc vos options de correspondance de motifs et de manipulation sont assez étendues. Voir la page de manuel rename (1) pour plus de détails.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.