本文主要是介绍对find参数-prune的理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
对find参数-prune的理解
(PS:对find参数-prune的理解
-prune就像一个判断语句,当发现-prune前面的表达式math时,执行到-prune之后就会输出一个1结果,如果shell的话,
可以使用echo$?来看结果,如果-prune后面跟的是-o选项,用c语言的语法来讲的话就是1 || -print,所以明显可以看到
当-prune前面的表达式成立的话,就不会执行-o后面的内容了,如果不成立,即0|| -print,那么将打印输出,
另外需要注意的是-path路径不能加入结尾的/,
比如路径/vobs/gliethttp/signature,不能写成/vobs/gliethttp/signature/,这是硬性规定
find /vobs/tmp/ -path /vobs/tmp/signature -a -print
如果find .那么后面-path的必须使用相对路径./gliethttp
除find中.之外,其他所有查找,比如find tmp或者find /vobs等,-path都必须使用绝对路径
)
显示除hid_uart开头的所有目录或文件,以及名为signature的目录或文件之外的所有文件
find . \( -name hid_uart* -o -name signature \) -prune -o -print
显示除当前目录./signature之外的所有文件
find . -path ./signature -prune -o -print
只打印当前目录下的./signature目录
find . -path ./signature -prune -a -print
打印除.svn下的所有.c文件
find . -name .svn -prune -o -iname '*.c' -a -print
或者使用-path参数
find . -path ./.svn -prune -o -print
这篇关于对find参数-prune的理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!