Massenumbenennung, Suffix ändern?

Massenumbenennung, Suffix ändern?

Wie kann ich das Suffix für mehrere Dateien gleichzeitig ersetzen?

Ich habe viele Dateien wie

  • NameSomthing-min.png
  • NameSomthing1-min.png
  • NameSomthing2-min.png

Ich möchte sie alle ändern in

  • NameSomthing.png
  • NameSomthing1.png
  • NameSomthing2.png

d. h., die Zeichen -minaus dem Namen entfernen. Wie würde ich das machen?

Antwort1

Dieses Skript kann hilfreich sein:

for file in *-min.png; do
    echo mv "$file" "${file%-min.png}.png"
done

Entfernen Sie das Echo, um den Befehl tatsächlich auszuführen.

Antwort2

Das hängt von Ihrer Shell ab. Ich verwende zshund mache es folgendermaßen:

for i in *-min.*; do mv $i "${i%-*}.${i#*.}"; done

Ich empfehle, die Manpage Ihrer Shell zu überprüfen und einen Abschnitt ähnlich der „Parametererweiterung“ (wie es in derzshmanpage).

Ähnliche Lösungen sind bashauch für und andere Shells verfügbar (Sie haben nicht angegeben, welche Sie verwenden).

Bitte beachten Sie, dass Ihre konkrete Lösung immer von den Daten und Ihrem Ziel abhängt. Wenn Sie beispielsweise das '-' als Trennzeichen zwischen dem Namen und dem Suffix haben, das Sie entfernen möchten, ist dies der richtige Weg. Andernfalls möchten Sie die Parametererweiterung möglicherweise etwas anpassen.

verwandte Informationen