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