首页 > 代码库 > linux中find命令详解
linux中find命令详解
http://blog.csdn.net/pipisorry/article/details/39831419
问题:
linux中find命令查找时不包含某些目录
find 命令忽略某个或多个子目录的方法
在linux中用find 进行查找的时候,有时候需要忽略某些目录不查找,可以使用 -prune 参数来进行过滤,要忽略的路径参数必须紧跟着搜索的路径之后,否则该参数无法起作用。
eg:
root@ubuntu:/tmp1#find ./ -type f #/tmp1目录下所有文件夹里面的所有文件 ./file ./1/1.cpp ./2/2.cpp root@ubuntu:/tmp1#find ./ -path ./1 -prune -o -type f -print #/tmp1中查找文件但忽略文件夹/1中的文件 ./file ./2/2.cpp root@ubuntu:/tmp1#find ./ \( -path ./1 -o -path ./2 \) -prune -o -type f -print #/tmp1中查找文件同时忽略文件夹/1 /2中的文件 ./file
man find
... -path pattern File name matches shell pattern pattern. The metacharacters do not treat `/' or `.' specially; so, for example, find . -path "./sr*sc" will print an entry for a directory called `./src/misc' (if one exists). To ignore a whole directory tree, use -prune rather than checking every file in the tree. For example, to skip the directory `src/emacs' and all files and directories under it, and print the names of the other files found, do something like this: find . -path ./src/emacs -prune -o -print Note that the pattern match test applies to the whole file name, starting from one of the start points named on the command line. It would only make sense to use an absolute path name here if the relevant start point is also an absolute path. This means that this command will never match anything: find bar -path /foo/bar/myfile -print The predicate -path is also supported by HP-UX find and will be in a forthcoming version of the POSIX standard. ...
也可以使用参数-wholename,不过不建议了
-wholename pattern See -path. This alternative is less portable than -path.
from:http://blog.csdn.net/pipisorry/article/details/39831419
linux中find命令详解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。