Linux搜尋資料夾下的檔案內文:find+grep指令產生器 / Search the Content of Files on Linux: find + grep Command Builder
Linux內建了強大的搜尋工具find,可以與grep指令搭配一起使用,以達到檔案內文全文檢索的功能。但是這兩個指令太長了,我每次都要找一下它們是怎麼組在一起。這次索性乾脆寫成一個簡單的find+grep指令產生器,讓我們使用搜尋指令更加便利!
搜尋指令 find+grep產生器 / find+grep command builder
find與grep指令說明 / About find and grep commands
預設產生的指令為:
find "/var/www/" -name "*.php" -exec grep -H "Exception" {} \;
這段指令的意思是:
- 在「/var/www/」路徑底下。
- 搜尋名為「*.php」的檔案。「*」為萬用字元,可取代任意檔名。
- 搜尋字串「Exception」。
關於find與grep的介紹,請看[Linux] 搜尋資料夾底下 檔案內部文字這篇。
全系統檔案名稱快速搜尋 / Search Files in Whole System
如果要快速找尋全系統中擁有指定檔案名稱的指令,那麼建議使用locate。例如:
locate log.txt
有時候使用locate之前,要先搭配updatedb建立索引。updatedb指令需要有root權限,用法通常會是:
sudo updatedb; locate log.txt
關於locate的詳細用法,請參與鳥哥的「第六章、Linux 檔案與目錄管理:locate / updatedb」。
最近使用的時候發現這個指令無法在PieTTY貼上中文,不知道是PieTTY的問題,還是伺服器沒有中文功能
回覆刪除總之未來使用的時候可能要注意一下這個問題
目前不能用喔. 不會自動產生.
回覆刪除To Kudo,
刪除感謝提醒。現已修復。
請問這個可以搜尋pdf檔案裡面的字串嗎?
回覆刪除您好,
刪除請使用pdfgrep套件。
用法舉例:
````sh
pdfgrep 'pattern' *.pdf
pdfgrep 'pattern' file.pdf
````
詳細介紹
https://pdfgrep.org/