Linux 在多個文件中搜索關鍵字
摘要:使用grep或者rg在當前目錄下所有文件中查找關鍵字。
??在Linux操作系統下,搜索文件中的關鍵字可幫助用戶快速找到所需的信息,滿足快速排查問題的需求。在大型系統中,文件可能被保存在多個目錄中并且命名也可能不同,所以,逐個文件搜索就不現實了。小編在《Linux grep查詢關鍵詞首次或者最近一次出現的地方》介紹了如何在同一個文件里搜索關鍵詞,本篇文章將和各位一起學習如何在多個文件中搜索關鍵字。
使用grep命令查找文件中的關鍵字
??如果要在整個目錄中搜索關鍵字,我們可以使用以下命令:
grep 'keyword' *
??它在當前目錄下遞歸搜索所有文件。謹記,不要丟掉最后的星號,而且不可換成具體的目錄。如果要忽略子目錄和二進制文件,可以使用以下命令:
grep -r 'keyword' --exclude-dir={目錄1,目錄2} --exclude='*.ext'
??它忽略指定目錄和擴展名的文件。grep還可以在指定目錄下遞歸所有文件搜索關鍵詞,命令如下:
grep "keyword" /data/logs -R | tail -3
業務含義:遍歷目錄/data/logs下的所有文件,最多展示包含關鍵詞keyword的三行記錄。
使用rg命令查找文件中的關鍵字
??ripgrep是一個比grep高效的關鍵詞搜索工具,rg (ripgrep)支持使用正則表達式和Unicode搜索。在整個項目中查找的命令如下:
rg 'keyword' 目錄
??上述命令會遞歸搜索指定目錄下的所有文件。服務器一般不支持rg命令,會出現如下提示:
bash: rg: command not found
??這時候,請安裝rg指令,或者更換為grep。如果需要排除指定文件,則語法糖如下:
rg 'keyword' --ignore-file=ext:文件后綴 --ignore-dir={目錄1,目錄2}
??上述命令會忽略指定目錄和擴展名的文件。
結束語
??以上就是這篇文章的全部內容了,希望本文對道友的學習或者工作能帶來一定的幫助,如有疑問請留言交流。Wiener在此祝各位生活愉快!工作順利!
讀后有收獲,小禮物走一走,請作者喝咖啡。
Buy me a coffee. ?Get red packets.作者:樓蘭胡楊
本文版權歸作者和博客園共有,歡迎轉載,但請注明原文鏈接,并保留此段聲明,否則保留追究法律責任的權利。

浙公網安備 33010602011771號