打造自己的 find脚本

首先声明一点,我们讨论的是gnu的findutils中的find

find的基本语法:

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]

其中H,L,P都是关于符号链接的,一般用不到,D是调试用的,有兴趣的可以研究,O是优化选项,一般也不会用到。

path即搜索开始的路径,...表示可以指定多个,会去遍历子目录

expression = [test] [action] [operator]

expression会对每个遍历到的file求值.

按照这个语法大家只用对照man find就可以写出自己的脚本了。action缺省为-print

下面举常用的例子:

find . -name "*.sh" -type f 当前目录下的所有以sh结尾的文件

find . -name ".svn" -prune -o -print 当前目录下的除.svn文件夹之外的所有文件或文件夹

你可能感兴趣的:(打造自己的 find脚本)