Gelöst mit:
rename 's/&.*//' *
Ich habe ein Verzeichnis mit folgenden Dateien:
Joe Schmidt Kapitel 10 - Teil 7.mp4 & content_uid = 359 & hash = 8353ee953b9bb79cebf58cc46d7dc085 & random = 190644109
Am Ende wurde beim Download einiges an Web-Material aufbewahrt. Nun möchte ich es gerne so entfernen:
Joe Schmidt Kapitel 10 - Teil 7.mp4
Ich bin auf MacOS, habe den Umbenennungsbefehl usw.
Ich habe folgendes versucht, aber es hat nicht so gut funktioniert:
$ rename --verbose 's/\&\w*//' *
'Joe Schmidt_ Kapitel 10 - Teil 7.mp4 & content_uid = 359 & hash = 8353ee953b9bb79cebf58cc46d7dc085 & random = 190644109' umbenannt in 'Joe Schmidt_ Kapitel 10 - Teil 7.mp4 = 359 & hash = 8353ee953b9bb79cebf58cc46d7dc085 & random = 190644109'
rename --verbose 's/\&\.*//' *
funktionierte auch nicht.
Und da es mehrere Ampersands gibt - ich möchte alles nach dem ersten Ampersand töten - kann ich nicht mal cut verwenden:
for i in $(find . -type f) do mv "$i" `echo $i | cut -d "&" -f1` done
produziert:
mv: Umbenennen von ./Joe in ./Joe: Keine solche Datei oder Verzeichnis. mv: Umbenennen von Schmidt_ in Schmidt_: Keine solche Datei oder Verzeichnis. mv: Umbenennen von Kapitel in Kapitel: Keine solche Datei oder Verzeichnis. mv: Umbenennen von 10 bis 10: Keine solche Datei oder Verzeichnis mv: umbenennen - in -: Keine solche Datei oder Verzeichnis mv: umbenennen Teil in Teil: Keine solche Datei oder Verzeichnis mv: umbenennen 7.mp4 & content_uid = 359 & hash = 8353ee953b9bb79ceb58cc46d7dc085 & random = 190644109 in 7.mp4: keine solche Datei oder Verzeichnis
Gelöst mit:
rename 's/&.*//' *
Nicht elegant, sollte aber funktionieren. Der Zauber ist in den Zitaten :)
ls *\&* | ( while read F do TGT="$(echo $F | cut -d'&' -f1)" echo mv "$F" "$TGT" done )
Bitte entfernen Sie das, echo
um dieses Skript zu aktivieren.