Ein Memo zur Behandlung von Fehlern wie ’$‘\t’: No such file or directory in der Linux-Bash-Befehlszeile.
Dies kann aufgrund von Zeilenumbruch-Code-Problemen auftreten, wenn Dateien zeilenweise gelesen und mv oder ähnliche Operationen verwendet werden.
z.B.
mv: cannot move '01 Track01.flac' to '01 - Track01'$'\t': No such file or directory
mv: cannot move '02 Track02.flac' to '02 - Track02'$'\t': No such file or directory
mv: cannot move '03 Track03.flac' to '03 - Track03'$'\t': No such file or directory
Selbst das Ändern von Zeilenumbruchcodes mit nkf hilft nicht. Hmm…
nkf -Lu --overwrite names.txt
Das wird mühsam, also ersetzen wir einfach \t.
sed -i $'s/\t//' names.txt
# Um in eine neue Datei auszugeben
sed -i.bak $'s/\t//' names.txt
Fertig.
Ich verstehe \r und \t nicht wirklich.