Linux使用grep命令查找多個關(guān)鍵詞的常用方法
grep 查找多個關(guān)鍵詞有 3 種最常用方法,覆蓋精確匹配、模糊匹配、忽略大小寫、反向過濾,直接復(fù)制就能用。
一、最常用:同時匹配多個關(guān)鍵詞(AND 邏輯)
要求所有關(guān)鍵詞都出現(xiàn)才匹配(順序不限)
grep "關(guān)鍵詞1" 文件名 | grep "關(guān)鍵詞2" | grep "關(guān)鍵詞3"
示例:在 app.log 中找同時包含 error 和 2025 的行
grep "error" app.log | grep "2025"
二、簡潔寫法:匹配任意一個關(guān)鍵詞(OR 邏輯)
滿足任意一個關(guān)鍵詞就匹配,有 2 種寫法:
方法1:-E參數(shù)(推薦,最簡潔)
grep -E "關(guān)鍵詞1|關(guān)鍵詞2|關(guān)鍵詞3" 文件名
示例:查找包含 error 或 warn 或 info 的行
grep -E "error|warn|info" app.log
方法2:egrep(等價于grep -E)
egrep "關(guān)鍵詞1|關(guān)鍵詞2|關(guān)鍵詞3" 文件名
三、常用擴展參數(shù)
- 忽略大小寫(
-i)
grep -Ei "error|warn" app.log
- 顯示行號(
-n)
grep -En "error|warn" app.log
- 反向查找(
-v,排除關(guān)鍵詞)
# 排除包含 error 和 warn 的行 grep -Ev "error|warn" app.log
- 遞歸查找文件(
-r)
# 在當前目錄所有文件中查找 grep -Er "error|warn" .
四、完整示例匯總
| 需求 | 命令 |
|---|---|
| 匹配任意一個關(guān)鍵詞 | `grep -E "a |
| 匹配所有關(guān)鍵詞 | `grep “a” file |
| 忽略大小寫+任意匹配 | `grep -Ei "a |
| 遞歸查找+顯示行號 | `grep -Ern "a |
| 排除多個關(guān)鍵詞 | `grep -Ev "a |
總結(jié)
- 或匹配(任意一個):
grep -E "關(guān)鍵詞1|關(guān)鍵詞2" - 且匹配(全部都要):
grep 關(guān)鍵詞1 | grep 關(guān)鍵詞2 - 搭配
-i/-n/-r/-v可實現(xiàn)忽略大小寫、顯示行號、遞歸、反向過濾
到此這篇關(guān)于Linux使用grep命令查找多個關(guān)鍵詞的常用方法的文章就介紹到這了,更多相關(guān)Linux grep查找多個關(guān)鍵詞內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Linux C中sockaddr和sockaddr_in的區(qū)別
這篇文章主要介紹了Linux C中sockaddr和sockaddr_in的區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-07-07
一個用了統(tǒng)計CPU 內(nèi)存 硬盤 使用率的shell腳本
一個統(tǒng)計 CPU 內(nèi)存 硬盤 使用率的shell腳本,供大家學(xué)習參考2013-02-02
Shell執(zhí)行/調(diào)用Java/Jar程序例子的實例詳解
這篇文章主要介紹了Shell執(zhí)行/調(diào)用Java/Jar程序例子的實例詳解的相關(guān)資料,這里提供實例幫助大家實現(xiàn)這樣的功能,需要的朋友可以參考下2017-08-08
Linux命令行循環(huán)執(zhí)行shell命令
這篇文章主要介紹了Linux命令行,循環(huán)執(zhí)行shell命令的相關(guān)知識,主要包括死循環(huán),普通計數(shù)循環(huán),以及Linux shell循環(huán)命令 while死循環(huán)的用法,需要的朋友可以參考下2023-01-01

