Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux grep 正則表達式完整參考:元字符、常用選項與實戰範例

編輯:關於 Linux

grep 是 Linux 最強大的文字搜尋工具,結合正則表達式可精準過濾日誌、程式碼、設定檔。本文整理 grep 專用元字符表、常用選項旗標,並提供實戰範例供快速查閱。

grep 正則示意圖

grep 正則元字符速查表

元字符說明範例
^行首錨定^grep 匹配以 grep 開頭的行
$行尾錨定grep$ 匹配以 grep 結尾的行
.任意單一字元 (除換行)gr.p 匹配 gr + 任一字 + p
*前一字元 0 次或多次*grep 匹配空格後接 grep
[...]字元集合[Gg]rep 匹配 Grep 或 grep
[^...]排除字元集合[^A-Z]rep 非大寫字母開頭
\(...\)捕獲群組 (基本正則需轉義)\(love\) 標記 love 為 \1
\<單字開頭\<grep 匹配以 grep 開頭的單字
\>單字結尾grep\> 匹配以 grep 結尾的單字
x\{m\}x 重複 m 次0\{5\} 5 個 0
x\{m,\}x 至少 m 次o\{5,\} 至少 5 個 o
x\{m,n\}x 重複 m~n 次o\{5,10\} 5~10 個 o
\w單字字元 [A-Za-z0-9_]G\w*p G 後接單字字元再 p
\b單字邊界\bgrep\b 僅匹配完整單字 grep

常用 grep 選項

-c  僅輸出匹配行數
-i  忽略大小寫
-h  多檔搜尋不顯示檔名
-l  僅列出含匹配行的檔名
-n  顯示行號
-s  隱藏不存在/無匹配錯誤
-v  反向匹配 (顯示不含模式的行)
-V  顯示版本
-E  擴展正則 (等同 egrep)
-F  固定字串 (等同 fgrep)

實戰範例

# 搜尋錯誤日誌 (忽略大小寫、顯示行號)
grep -in "error" /var/log/syslog

# 遞迴搜尋專案中所有 TODO 註解
grep -rn "TODO" src/

# 反向匹配:排除註解行
grep -v "^#" config.conf

# 多模式 OR 搜尋 (擴展正則)
grep -E "error|fail|critical" app.log

# 固定字串搜尋 (速度最快)
grep -F "192.168.1.100" access.log

最佳實務:模式字串建議用雙引號包裹,避免 Shell 先行展開特殊字元。

Copyright © Windows教程網 All Rights Reserved