Ich habe Musik, die alle benannt ist 1 - (song author) - (song name).flac
und ich möchte den Dateinamen nur ändern (song author) - (song name).flac
Verschieben Sie es dann in ein Verzeichnis. Hier ist was ich bisher habe:
while IFS='' read -r line || [[ -n "$line" ]]; do
cp $line /home/user/Desktop/Music/$(cut -c3- "$line");
done < filelist.txt
filelist.txt enthält eine Liste der Dateien, die ich umbenennen und verschieben möchte.
Es funktioniert nicht, aber in gewisser Weise fand ich es interessant. Ich bekomme den Fehler bash: /bin/cp: Argument list too long
und nach Prüfung des Inhalts von line
Nach dem Schnitt sieht es aus wie zufällige Zeichen / Zeichencodes. Kann mir jemand sagen, was ich falsch mache?
ls || grep flac > filelist.txt
. Ich würde lieber keine Inhalte von hinzufügen $line
. Es ist genau wie der Inhalt von /dev/random
ls | grep flac > filelist.txt
war eigentlich, wie die Datei erstellt wurde.
$line
? Woher stammt die Dateiliste, vielleicht ist sie Unicode?