我有以下find
命令:
find /mnt/F_11 -type f \( -iname '*.xls' -o -iname '*.xlsx' /)
如何找到/mnt/F_11
中的所有项目,而不是/mnt/f_11/DONOTENTER/
中的所有项目?
换句话说,我希望它能够搜索:
YES /mnt/F_11
YES /mnt/F_11/somepath/
YES /mnt/F_11/somepath/other/
NO /mtn/F_11/DONOTENTER/
答案 0 :(得分:2)
使用-prune
来避免递归您不想关注的分支。
find /mnt/F_11 -name DONOTENTER -prune -o \
-type f \( -iname '*.xls' -o -iname '*.xlsx' \) -print
注意最后的显式-print
- 这很重要,否则隐式打印操作会涵盖两个分支。