grep遞歸查找子目錄

想要在各類文件裏面找一個指定的文本,原本的方法太土了,在網上搜了一下,發現個好的方法,不過也有些問題。原文以下:spa

第一個,這個是看別人腳本的,配合find實現,-maxdepth指定深度,若是查找到底,就把-maxdepth刪掉
find /var/log/httpd/* -maxdepth 1 -type f -mtime +14 -print | egrep '.*\.gz$' | xargs -r /bin/rm遞歸

第二個,也是別人腳本,粗糙點,原先我是用這個來查找當前目錄的,修改成`ls -R`,能夠遞歸查目錄
for i in `ls -R`;do grep rpm $i; echo $i; done;ip

第三個,比較好用啊,grep當前目錄和子目錄裏文件的內容get

grep Notifications `find ./*`io

原文地址:http://www.187299.com/archives/1079grep

第三種方法雖然簡單,可是若是find的結果太多會致使出現參數列表過長。方法

因此仍是第一種方法最好好用,簡單來講就是im

find . -name "*" | xargs grep "Notifications腳本

等同於di

grep Notifications `find ./*`

 

但能夠避免參數列表過長

關於xargs詳細資料能夠參見wiki:http://zh.wikipedia.org/wiki/Xargs

相關文章
相關標籤/搜索