logo
Published on

Bashエラー '$'\t' No such file or directory の対処

Authors

LinuxのBashコマンドラインで、'$$'\t': No such file or directoryなどのエラーが出る場合の対処についてメモです。

ファイルから一行ずつ読み取ってmv、なんて操作をしたときに、改行コードあたりの問題でこうなることがあります。

e.g.

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

nkfで改行コードを変更しても、変化なし。んんん…

nkf -Lu --overwrite names.txt

もう面倒くさいので、\tを置換してしまおう。

sed -i $'s/\t//' names.txt

# 新しいファイルに出力する場合
sed -i.bak $'s/\t//' names.txt

できた。

\rとか\tとかよくわからない。