1
ファイルのリストが含まれているファイルがあります。これらのファイルが存在するかどうかを知りたいと思っています。Bash - ファイルが存在しない
while read line; do
filename="$(echo $line | cut -d';' -f4)";
if [ ! -e "/some/path/$filename" ];
then echo "/some/path/$filename";
fi ;
done < "../my_list_of_file"
このコマンドは私に非existant、元のように記載されているすべてのファイルを返す:
/some/path/my_listed_file.jpg
をしかし、私はls /some/path/my_listed_file.jpg
を行うとき、私は、ファイルが存在していることを見ることができる私は、このコマンドを使用していました。私の命令で何が間違っていますか?
これは行の最後のフィールドですか?私はあなたのファイルがWindowsで作成されたので、 'CRLF'行の終わりがあると思います。 – Barmar
'filename'が各行の最後のフィールドである場合、これはDOSの行末を持つ' my_list_of_file'を指します。ファイル名は実際には改行で終わります。 – chepner
これが問題であれば、 'dos2unix'を使ってファイルを修正してください。 – Barmar