grep命令手冊(cè)
grep:文本搜索工具
功能描述:
grep是一種強(qiáng)大的文本搜索工具,它能使用正則表達(dá)式搜索文本,并把匹配的行打印出來(lái)。
Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的擴(kuò)展,支持更多的re元字符,等價(jià)于grep -E,支持基本和擴(kuò)展的正則表達(dá)式。fgrep就是 fast grep,等價(jià)于grep -F,不支持正則表達(dá)式,按照字符串表面意思進(jìn)行匹配。
命令語(yǔ)法:
grep [選項(xiàng)] [查找模式] [文件]
選項(xiàng)含義:
命令中各選項(xiàng)的含義如下表所示。
| 選項(xiàng) | 含義 |
|---|---|
| -c | 計(jì)算找到搜尋文本的次數(shù) |
| -i | 搜索時(shí),忽略大小寫(xiě) |
| -l | 只顯示匹配行的文件名 |
| -n | 顯示匹配文本所在行號(hào) |
| -v | 反向選擇,顯示不包含匹配文本的所有行 |
| -x | 強(qiáng)制模式僅完全匹配一行 |
| -w | 強(qiáng)制模式僅完全匹配字詞 |
| -q | 禁止輸出任何結(jié)果,以退出狀態(tài)表示搜索是否成功 |
| -s | 不顯示錯(cuò)誤消息 |
| -r | 遞歸搜索 |
參數(shù)實(shí)例:
實(shí)例1
查找字符:
// 將/etc/passwd 中包含mysql字符所在行內(nèi)容取出
[root@cnLinuxer ~]# grep mysql /etc/passwd
mysql:x:1001:1001::/home/mysql:/sbin/nologin
// 將/etc/passwd中包含mysql所在行內(nèi)容取出,并顯示行號(hào)
[root@cnLinuxer ~]# grep -n mysql /etc/passwd
22:mysql:x:1001:1001::/home/mysql:/sbin/nologin
實(shí)例2
反向查找:
//將/etc/passwd中不包含nologin的行取出
[root@cnLinuxer ~]# grep -v nologin /etc/passwd
實(shí)例3
遞歸查詢:
// 在/test目錄下查找包含字符“開(kāi)源Linux”的文件,并顯示所在行內(nèi)容
[root@cnLinuxer ~]# grep -r "開(kāi)源Linux" /test
/test/readme.txt:歡迎關(guān)注微信公眾號(hào):開(kāi)源Linux,收獲每日技術(shù)干貨。
// 在/test目錄下查找包含字符“開(kāi)源Linux”的文件,并只顯示匹配的文件
[root@cnLinuxer ~]# grep -r -l "開(kāi)源Linux" /test
/test/readme.txt
實(shí)例4
行首與行尾字節(jié) ^ $
// 顯示/etc/passwd文件中以“^my”開(kāi)頭的行
[root@cnLinuxer ~]# grep ^my /etc/passwd
mysql:x:1001:1001::/home/mysql:/sbin/nologin
// 顯示以nologin結(jié)尾的行,并顯示行號(hào)
[root@cnLinuxer ~]# grep -n nologin$ /etc/passwd
// 不顯示文本中的空行
[root@cnLinuxer test]# grep -v ^$ readme.txt
有收獲,點(diǎn)個(gè)在看
評(píng)論
圖片
表情
