首先聲明一點纵揍,我們討論的是gnu的findutils中的find
find的基本語法:
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]
其中H,L,P都是關(guān)于符號鏈接的,一般用不到泽谨,D是調(diào)試用的,有興趣的可以研究骨杂,O是優(yōu)化選項雄卷,一般也不會用到。
path即搜索開始的路徑丁鹉,...表示可以指定多個悴能,會去遍歷子目錄
expression = [test] [action] [operator]
expression會對每個遍歷到的file求值.
按照這個語法大家只用對照man find就可以寫出自己的腳本了雳灾。action缺省為-print
下面舉常用的例子:
find . -name "*.sh" -type f 當(dāng)前目錄下的所有以sh結(jié)尾的文件
find . -name ".svn" -prune -o -print 當(dāng)前目錄下的除.svn文件夾之外的所有文件或文件夾