Linux下shell基本命令之grep用法及示例小結
grep
是 Unix 和 Linux 系統(tǒng)中廣泛使用的文本搜索工具,它允許用戶搜索包含指定模式的文本行。以下是 grep
命令的基本用法及示例:
一、基本用法
grep [選項] 模式 [文件...]
二、常用選項
-i
:忽略大小寫。-v
:反向選擇,顯示不包含模式的行。-n
:顯示匹配行的行號。-l
:顯示包含匹配模式的文件名。-L
:顯示不包含匹配模式的文件名。-c
:只輸出匹配到的行數(shù)。-w
:只匹配整個單詞。-x
:只匹配整行。-r
或-R
:遞歸搜索目錄中的文件。-A NUM
:匹配行及后面 NUM 行一起顯示。-B NUM
:匹配行及前面 NUM 行一起顯示。-C NUM
:匹配行及前后各 NUM 行一起顯示。
三、正則表達式
grep
支持正則表達式,這使得它可以進行復雜的文本搜索。例如:
.
:匹配任意單個字符。*
:匹配前一個字符零次或多次。^
:匹配行的開始。$
:匹配行的結束。[]
:匹配括號內(nèi)的任意一個字符。|
:表示或的關系,如a|b
匹配a
或b
。()
:分組,用于后向引用。
四、示例
搜索文本
假設有一個文件 example.txt
,內(nèi)容如下:
Hello World hello unix GREP is powerful
要在文件中搜索包含 "hello" 的行(忽略大小寫),可以使用以下命令:
grep -i "hello" example.txt
輸出:
Hello World hello unix
使用正則表達式
要在文件中搜索以 "G" 開頭并以 "p" 結尾的單詞,可以使用以下命令:
grep -w "\bG\w*p\b" example.txt
輸出:
GREP is powerful
顯示行號
要在文件中搜索包含 "World" 的行并顯示行號,可以使用以下命令:
grep -n "World" example.txt
輸出:
1:Hello World
反向選擇
要在文件中搜索不包含 "unix" 的行,可以使用以下命令:
grep -v "unix" example.txt
輸出:
Hello World GREP is powerful
遞歸搜索
要在目錄 mydir
及其子目錄中的所有文件中搜索包含 "error" 的行,可以使用以下命令:
grep -r "error" mydir/
到此這篇關于Linux下shell基本命令之grep用法及示例小結的文章就介紹到這了,更多相關shell grep用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
script_tool_for_linux.bash: Linux 環(huán)境下的 hosts 一鍵部署腳本
這篇文章主要介紹了script_tool_for_linux.bash: Linux 環(huán)境下的 hosts 一鍵部署腳本,需要的朋友可以參考下2016-04-04shell查找某字符串在某文件中出現(xiàn)行數(shù)的方法
這篇文章主要介紹了shell查找某字符串在某文件中出現(xiàn)行數(shù)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02mac 安裝omyzsh后不執(zhí)行~/.bash_profile、~/.bashrc的完美解決辦法
mac 安裝 omyzsh 后, terminal瞬間格調(diào)飆升,但是,terminal init的時候并不會執(zhí)行~/.bash_profile、~/.bashrc等腳本了,什么原因呢?下面小編給大家分享解決辦法,一起看看吧2017-01-01Bash的For循環(huán)(根據(jù)每次遞增的數(shù))
需要執(zhí)行一個命令,每次消除500個id,通常寫的是遞增1的,記一筆,怕忘了2013-08-08