我有一个文件,每一行都有不同的路径
path_1
path_2
...
等等。
我需要检查所有这些路径是否都是有效的。
我现在的做法是新建一个目录(tmp)然后写入
while read line; do cp $line > tmp; done < my_paths_file
然后检查复制到 tmp 目录中的文件数是否等于文件中的行数。由于我的文件中有很多行,这需要很长时间。
是否有更智能、更快速的方法来检查所有路径的有效性?
最佳答案
阅读 man test
以获得解释
while read -r line; do
test -d "$line" || echo "$line is not valid"
done < my_paths_file
我使用 -d
作为目录,替代方案是 -f
用于常规文件或 -e
用于文件和目录。
关于bash - 如何检查文件每一行的所有路径是否是 Bash 中的有效路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45569790/