Wie kann ich eine Reihe von Dateinamen unter Linux stapelweise umbenennen?


8

Ich habe einen Ordner mit Bildern mit dem Namen:

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

Wie benenne ich sie wie folgt um?

pic001.png
pic002.png
pic003.png 

Ich habe versucht, mv "pic*-2.png" "pic*.png"aber immer wieder Fehler zu bekommen.

Antworten:


10

Dadurch wird der erste -2in jedem Dateinamen gefundene gelöscht :

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

Um es zu testen, stellen Sie einfach echodie mvZeile voran .


9

Sie benötigen den entsprechend benannten Befehl 'Umbenennen'!

Versuchen Sie so etwas:

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

Als erstes Argument wird ein regulärer Perl-Ausdruck verwendet, sodass Ihre Optionen für Musterabgleich und Manipulation ziemlich umfangreich sind. Ausführliche Informationen finden Sie in der Manpage zum Umbenennen (1).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.