find命令之查找指定目录

原文地址为: find命令之查找指定目录

问题#1:
在当前目录下查找不在 .svn 目录中的可执行文件。
$ find . -path "*.svn*" -prune -o -type f -executable -print
注意:-print 必须放到最后;-o 表示逻辑运算 or;即如果 -path 后的模式匹配成功,则执行。 -prune 表示忽略该目录;否则(-o)就执行 -type f -executable -print。

问题#2:
在当前目录下查找没有扩展名的文件
$ find . ! -name "*.*" -type f

问题#3:
在当前目录下查找即不在 man 目录下也不在 doc 目录下的所有无扩展名文件
$ find . \( -path "*man*" -o -path "*doc*" \) -prune -o -type f ! -name "*.*" -print

问题#4
查找所有不在 .svn 目录下的文件
$ find  ! -path "*.svn*" -type f
注意:-path "*.svn*" 可解释为路径名称满足表达式“*.svn*”的所有目录;
           ! -path "*.svn*" 可解释为路径名称不满足表达式“*.svn*”的所有目录。
此方法比之前的方法更简练,效果一样。

转载请注明本文地址: find命令之查找指定目录

猜你喜欢

转载自blog.csdn.net/chch998/article/details/80847969