我有一个文件在每一行都有不同的路径
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目录中的文件数是否等于文件中的行数.这需要太长时间,因为我的文件中有很多行.
是否有更智能,更快捷的方法来检查所有路径的有效性?
阅读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文件和目录.