find 命令
目的是查找文件。思想其实也能够想清楚,简单点的递归当前目录当和给出的name参数相匹配的时候输出。
今天在搞一个makefile的时候偶然想到这个参数。prune。记录下用法。
-path:pattern 当查找到的路径和当前给出的pattern匹配的时候返回true。
如果按照这种理解,
我用
find . -path “ipa” -o -name “*.ipa” -print
这个命令理论上应该是能够搜索除了ipa目录之外所有的结尾是ipa的文件。因为匹配到ipa之后,-o参数后面的应该是不会在去执行了。但是结果不是这个样子的。输出了所有的结尾时ipa的文件。
-prune 这个参数应该是有结束当前这次搜索的功能。
find . -path “ipa” -a -prune -o -name “*.ipa” -print
这个命令解释应该是当前文件路径如果能够匹配ipa则返回true。但是需要做与操作,所以还需要求值prune。当求值prune。当前循环退出。后面的操作也就不再执行。
如果当前路径匹配ipa失败,返回false。则prune不再执行。但是还要求后面的结果。搜索*ipa。匹配成功则输出。也就是说prune应该是有类似于continue这样的操作在里面。