搜索當前目錄下所有文件包含某關鍵詞的文本/文件名/行號


 

      工作中希望通過命令能夠找到nginx的一堆conf文件中配置某個域名的conf的文件名;或者找讀書筆記里面包含某個關鍵詞的所有讀書筆記markdown文檔;

或者找到某個公司/作者/演員/tag的所有作品的文章,如果你像我一樣,記性很爛,但只是記得某個關鍵詞就想要找到以前的東西,那么看這篇就對了。

      這篇文章基於Unix/Linux/MacOS環境,當然windows如果安裝bash命令行也是可以的。通過find命令查找當前目錄下所有帶有某個字符串的文件名以及行號、或者上下文。

 

通過find命令查找當前目錄下所有帶有某個字符串的文件名

find .|xargs grep -rl "google.com"
./pac
./pac.txt
./proxy.txt

 

要是可以看到當前命中行的內容就好了

find .|xargs grep -r "google.com"
./pac:  "google.com": 1,
./pac:  "google.com.hk": 1,
./pac.txt:  "||inbox.google.com",
./pac.txt:  ".google.com",

 

要是可以打印出行號就好了

find .|xargs grep -rn "google.com"
./pac:1681:  "google.com": 1,
./pac:1740:  "google.com.hk": 1,
./pac.txt:12:  "||inbox.google.com",
./pac.txt:177:  ".google.com",

 

要是可以列出命中行的上下文就完美了

find .|xargs grep -rn1 "google.com"
./pac-1680-  "allmovie.com": 1,
./pac:1681:  "google.com": 1,
./pac-1682-  "badassjs.com": 1,
--
--
./pac-1739-  "epochtimes.fr": 1,
./pac:1740:  "google.com.hk": 1,
./pac-1741-  "wapedia.mobi": 1,
--

 

PS: 

http://qiancheng.me/coding/find-xargs-shell.md

linux下的find文件查找命令與grep文件內容查找命令

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM