Rem*_*i.b 2 bash performance awk file find
为了列出我做的空文件
find . -name "*.txt" | xargs wc -l | awk -F" " '{if ($1==0) {print $2} }'
Run Code Online (Sandbox Code Playgroud)
或者干脆
wc -l *.txt | awk -F" " '{if ($1==0) {print $2} }'
Run Code Online (Sandbox Code Playgroud)
它可以工作,但它有点慢,因为wc -l计算每个文件中的换行符的数量,而这是不必要的.一旦找到单个换行符就排除文件的过程会快得多.
如何以高效的方式列出空文件?
Jon*_*ler 10
find . -name '*.txt' -size 0
Run Code Online (Sandbox Code Playgroud)
打印匹配*.txt且大小为零的文件.
要查找当前目录中的所有空文件:
find . -maxdepth 1 -type f -name '*.txt' -empty
Run Code Online (Sandbox Code Playgroud)
这个怎么运作:
find .
这开始find在当前目录中查找文件.
-maxdepth 1
默认情况下,find通过子目录递归搜索.这告诉它不要.如果您确实需要递归搜索,只需删除此选项即可.
-type f
这会将搜索限制为常规文件.
-name '*.txt'
这会将搜索范围限制为.txt文件.
-empty
这会将搜索限制为空文件.