grep與正規表示式

2022-09-16 10:51:10 字數 2010 閱讀 9912

1、grep程式

linux下有文字處理三劍客 -- grep sed awk

grep:文字 行過濾工具

sed: 文字 行編輯器(流編輯器)

awk:報告生成器(做文字輸出格式化)

grep

包含三個命令:grep egrep fgrep ,它們是用來進行 行模式(pattern)匹配的

egrep = gerp -e //使用擴充套件的正規表示式進行匹配

fgrep = fast grep  //只使用檔案萬用字元進行匹配

*grep預設使用正規表示式進行文字匹配*

grep的用法:

grep [option] ... pattern [filename]

grep的常見選項 -- option

-e  支援使用擴充套件的正規表示式(ere)(regexp)

-p  使用perl語言的正規表示式引擎進行搜尋(每一種語言的正規表示式引擎都不相同,甚至sed grep awk使用的regexp引擎也不相同)

-i   忽略大小

-v  進行反選

-o  僅僅輸出匹配的內容(預設輸出的是匹配到的行)

--color=auto  語法著色

-n  顯示行號

-w  匹配固定的單詞

pattern--正規表示式

作用:通過一些特殊字元,來表示一類字元內容,然後交給前面的命令來執行;如果使用特殊字元本身含義,就需要 \ 進行轉義;

回顧:檔案萬用字元(globbing)

* ? [ ] [^ ]

1、字元匹配

.  任意乙個字元  ?

[ ]  範圍內的任意乙個字元

[^ ]  範圍外任意乙個字元

字元類:[:digit:] [:alnum:] [:alpha:] [:lower:] [:upper:] [:space:] [:punct:]

2、次數匹配

* 匹配前面的字元0次到無數次

\?匹配前面的字元0次到1次

\+ 匹配前面的字元1次到n次

\ 配置前面的字元m次

a\ aaaaaaa

\ 匹配前面的字元m到n次

\ 匹配前面的字元0次到n次  【0要不要?】

\ 匹配前面的字元至少m次

3、位置錨定

^ 錨定行首

$  錨定行尾

\b 錨定詞首和錨定詞尾

\>  錨定詞尾

\<  錨定詞首

<\root\>  rooter

4、分組

abc*  abcccc  abc我們要看成乙個整體

\(\)  示例:\(abc\)*  abcabcabc  abcccc

**分組特性:預設情況下,linux系統會為分組指定變數 ,變數的表示形式 \1 \2 \3 ...

\(\(立秋\)已過\),\(香港\)依舊不寧。多區出現非法集會,\(暴力\)示威者破壞公物、堵塞幹道,或以雷射、磚塊襲警、投擲汽油彈,更有甚者公然毆打內地遊客及記者。隨著示威公升級,慫恿「反中亂港」的幕後勢力也正慢慢浮現。

示例:\(ab+\(xy\)*\)   其中 \1 = ab+\(xy\)* , \2 = xy

abbbbbxyxyxyabxy

\<[1-9]|[1-9][0-9]|1[0-9]|2[01][0-9]|22[0-3]\>

1-91-9 0-9

1 0-9

2 [01] 0-9  200 - 219

2 2 0-3   220 - 223

\(\.\<[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4]\>\)

0-91-9 0-9

1 0-9 0-9

2 0-4 0-9

2 5 0-4

\( \)

\.\<[1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4]\>

1-91-9 0-9

1 0-9 0-9

2 0-4 0-9

2 5 0-4

grep與正規表示式

grep命令 功能 輸入檔案的每一行中查詢字串。基本用法 grep acinv color auto a n b n 搜尋字串 檔名 引數說明 a 將二進位制文件以文字方式處理 c 顯示匹配次數 i 忽略大小寫差異 n 在行首顯示行號 a after的意思,顯示匹配字串後n行的資料 b before...

grep與正規表示式

正規表示式只是字串的一種描述,只有和支援正規表示式的工具相結合才能進行字串處理。本文以grep為例來講解正規表示式。grep命令 功能 輸入檔案的每一行中查詢字串。基本用法 grep acinv color auto a n b n 搜尋字串 檔名 引數說明 a 將二進位制文件以文字方式處理 c 顯...

grep與正規表示式

grep 及正規表示式 文字查詢的需要,grep,egrep,fgrep grep 根據模式,去搜尋文字,並將符合模式的文字行顯示到螢幕 pattern 文字字元和正規表示式的元字元組合而成的匹配條件 grep options pattern file.grep color root etc pas...