我想用bash脚本检查目录中具有相同扩展名的文件是否为空,如果文件名不为空,则打印出该文件的名称。
答案 0 :(得分:1)
find
的作业(精确地为GNU find
),假设要匹配的扩展名为.txt
,要检查的目录为/directory
:
find /directory -maxdepth 1 -type f -name '*.txt' -not -empty
递归:
find /directory -type f -name '*.txt' -not -empty
慢速shell,使用for
迭代文件,test
([
)检查条件:
for f in /directory/*.txt; do [ -f "$f" ] && [ -s "$f" ] && echo "$f"; done
递归地使用bash
' globstar
:
shopt -s globstar
for f in /directory/**/*.txt; do [ -f "$f" ] && [ -s "$f" ] && echo "$f"; done