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/}"; doneoder 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 {} \;