Linux中g(shù)rep命令詳解
一、grep基本介紹
全拼:Global search REgular expression and Print out the line.
作用:文本搜索工具,根據(jù)用戶指定的“模式(過濾條件)”對目標文本逐行進行匹配檢查,打印匹配到的行.
模式:由正則表達式的元字符及文本字符所編寫出的過濾條件﹔

grep命令是Linux系統(tǒng)中最重要的命令之一,功能是從文本文件或管道數(shù)據(jù)流中篩選匹配的行和數(shù)據(jù),如果再配合正則表達式,功能十分強大,是Linux運維人員必備的命令
grep命令里的匹配模式就是你想要找的東西,可以是普通的文字符號,也可以是正則表達式

二、正則表達式grep實踐
首先先看一下這個測試文件的內(nèi)容吧

2.1、輸出以 I 開頭的行(不區(qū)分大小寫)

注: 這里的-i代表不區(qū)分大小寫, -n代表顯示匹配行和行號
2.2、輸出以.結(jié)尾的行

注: 因為.在這里有著特殊含義, 所以要用\轉(zhuǎn)義一下, 如果不加轉(zhuǎn)義字符的話, grep就會把它當做正則表達式來處理(.代表的含義是匹配任意一個字符)
2.3、$符號 注意在Linux平臺下, 所有文件的結(jié)尾都有一個$符可以利用cat -A 查看文件

2.4、^$(代表空行的意思)組合符
找出文件的空行, 以及行號

2.5、.點符號
"."點表示任意一個字符, 有且只有一個, 不包含空行

2.6、*符號
"*"表示找出前一個字符0次或一次以上
找出文件中i出現(xiàn)0次或多次的行和行號

2.7、.*組合符
".*"表示所有內(nèi)容, 包括空行

2.8、^.*t符 (含義: 以任意內(nèi)容開頭, 直到t結(jié)束)

2.9、[abc]中括號
中括號表達式,[abc]表示匹配中括號中任意一個字符, a或b或c,常見的形式如下;
[a-z]匹配所有小寫單個字母[A-Z]匹配所有單個大寫字母[a-zA-Z]匹配所有的單個大小寫字母[0-9]匹配所有單個數(shù)字[a-zA-ZO-9]匹配所有數(shù)字和字母
匹配abc字符中的任意一個,得到它的行數(shù)和行號

2.10、grep的參數(shù)-o
使用"-o"選項, 可以值顯示被匹配到的關(guān)鍵字, 而不是講整行的內(nèi)容都輸出.

顯示出文章中有多少行有a
![]()
"-c"只統(tǒng)計匹配的行數(shù)
2.11、[^abc]中括號中去反
[^abc]或[^a-c]這樣的命令, "^"符號在中括號中第一位表示排除, 就是排除字符a,b,c
注: 出現(xiàn)再中括號里的尖角號表示取反

三、擴展正則表達式grep實踐
此處使用grep -E進行實踐擴展正則, egrep官網(wǎng)已經(jīng)棄用了
3.1、+號
+號表示匹配前一個字符1一次或多次,必須使用grep-E擴展正則

3.2、?符
匹配前一個字符0次或1次
找出文件中包含gd或者god的行

3.3、|符
豎線|再正則中是或者的意思
找出opt目錄中txt結(jié)尾的文件, 其名字中包含a或者e, 不區(qū)分大小寫(-i)

3.4、()小括號
將一個或多個字符捆綁在一起, 當作一個整體進行處理

3.5、{n,m}匹配次數(shù)
{n,m}:匹配前一個字符至少n次, 最多m次
{n,}: 匹配前一個字符至少n次, 沒有上限
{,m}: 匹配前一個字符最多m次,可以沒有
重復(fù)前一個字符各種次數(shù), 可以通過-o參數(shù)顯示明確的匹配過程

到此這篇關(guān)于Linux中g(shù)rep詳解的文章就介紹到這了,更多相關(guān)Linux中g(shù)rep詳解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
shell linux中如何用shell寫一個占用CPU的腳本
本文主要介紹了shell linux中如何用shell寫一個占用CPU的腳本,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
Linux shell查找文件顯示行號和對應(yīng)區(qū)間的內(nèi)容
今天小編就為大家分享一篇關(guān)于Linux shell查找文件顯示行號和對應(yīng)區(qū)間的內(nèi)容,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12
shell腳本學習指南[一](Arnold Robbins & Nelson H
這篇文章主要介紹了shell腳本學習指南[一]Arnold Robbins & Nelson H.F. Beebe著,需要的朋友可以參考下2014-02-02
linux系統(tǒng)mysql自動備份并使用ftp上傳的方法
這篇文章主要介紹了linux系統(tǒng)自動導出mysql備份,并上傳到指定ftp,還可以刪除舊的備份文件,大家參考使用吧2014-01-01

