Bash: Mehrere Dateien umbenennen/löschen

Manchmal bekomme ich aus der Windows-Welt Dateien mit folgendem Schema: „abc.jpg.jpg, def.jpg.jpg“. Ursache dürfte das imo unsinnige Feature sein Extensions zu verstecken in Verbindung mit Benutzern/Programmen, welche damit nicht klar kommen.

Die Dateien lassen sich zum Glück recht fix umbenennen:


for file in *.jpg.jpg; do mv "$file" "${file/.jpg/}"; done

oder eine Alternative um eine Datei von *.bak in *.txt umzubenennen.

find /var/ftp/ -name "*.bak" -exec sh -c 'mv "$1" "${1%.bak}.txt"' _ {} \;

Löschen

Erst sehen welche Dateien in einem Verzeichnis gelöscht würden:

find vmiuser/ -name *.txt -exec ls -l {} \; 

Wenn das Ergebnis gefällt löschen wir diese:

find vmiuser/ -name *.txt -exec rm -rf {} \;