如何检查文件每一行上的所有路径是否都是Bash中的有效路径?

Lon*_*guy 2 unix bash

我有一个文件在每一行都有不同的路径

path_1
path_2
...
Run Code Online (Sandbox Code Playgroud)

等等.

我需要检查所有这些路径是否有效.

我现在的做法是创建一个新目录(tmp),然后编写

while read line; do cp $line > tmp; done < my_paths_file
Run Code Online (Sandbox Code Playgroud)

然后检查复制到tmp目录中的文件数是否等于文件中的行数.这需要太长时间,因为我的文件中有很多行.

是否有更智能,更快捷的方法来检查所有路径的有效性?

Wal*_*r A 5

阅读man test有关的解释

while read -r line; do
  test -d "$line" || echo "$line is not valid"
done < my_paths_file
Run Code Online (Sandbox Code Playgroud)

我用于-d一个目录,替代方案是-f常规文件或-e文件和目录.