Bash - 提供不正确结果的文件存在

Bash - File existence providing incorrect results

我有一个包含文件列表的文件,我想知道这些文件是否存在。我使用了这个命令:

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"

此命令 returns 对我列出的每个文件都不存在,例如:

/some/path/my_listed_file.jpg

但是当我执行 ls /some/path/my_listed_file.jpg 时,我可以看到该文件存在。我的命令有什么问题?

感谢 Barmar 和 chepner,问题是文件末尾的 CRLF。 这是工作命令:

while IFS=$';\r' read -r _ _ _ filename _; do 
    if [ ! -e "/some/path/$filename" ]; 
    then echo "/some/path/$filename"; 
    fi ; 
done < "../my_list_of_file"