grep 是一款功能強(qiáng)大的文本搜索工具,它可以幫助用戶在文件中查找特定的文本模式。
-
基本語法:grep [options] pattern [file]
-
常用參數(shù)說明:
- -i:忽略大小寫進(jìn)行匹配。
- -v:反向匹配,顯示不包含指定內(nèi)容的行。
- -r 或 -R:遞歸搜索目錄及其子目錄中的文件。
- -n:輸出匹配行的同時(shí)顯示其行號(hào)。
- -l 或 -L:僅顯示包含或不包含匹配項(xiàng)的文件名。
- -c:統(tǒng)計(jì)匹配行的數(shù)量,而非輸出具體行內(nèi)容。
- -o:只輸出匹配的部分,而不是整行文本。
- -A num:顯示匹配行之后緊接著的 num 行內(nèi)容。
- -B num:顯示匹配行之前的 num 行內(nèi)容。
- -E:?jiǎn)⒂脭U(kuò)展正則表達(dá)式支持。
- -F:將搜索模式視為固定字符串列表處理,禁用正則表達(dá)式。
-
實(shí)際使用示例:
- 在文件 example.log 中查找含有 “Error” 的行:
grep “error” example.log - 遞歸搜索 logs 目錄下所有文件中包含 “error” 的內(nèi)容:
grep -r “error” logs - 忽略大小寫,在 example.log 中查找 “error”:
grep -i “error” example.log - 查找以 “2021” 開頭的行:
grep “^2021” example.log(其中 ^ 表示行首) - 顯示匹配 “error” 的行及其行號(hào):
grep -n “error” example.log - 只顯示匹配 “error” 的部分,而非整行:
grep -o “error” example.log
- 在文件 example.log 中查找含有 “Error” 的行:
以上只是 grep 命令的一些基礎(chǔ)應(yīng)用。通過靈活組合不同參數(shù)和正則表達(dá)式,可以實(shí)現(xiàn)更加復(fù)雜的文本處理任務(wù)。如需了解更多高級(jí)用法,可以通過執(zhí)行 man grep 查看完整幫助文檔。