shell指令碼 grep和正規表示式

2022-05-20 01:48:07 字數 1191 閱讀 9478

1、grep程式

1)命令:grep egrep fgrep,用來進行 行模式(pattern手動寫)匹配的

egrep = grep -e     //使用正規表示式進行匹配    

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

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

2)用法:

grep[option]...pattern[filename]

3)常見選項(option):

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

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

-c 統計計數

*-i 忽略大小寫

*-v 進行反選

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

--color=auto 語法zhuose

-n 顯示行號

-w 匹配固定單詞

2、pattern -- 正規表示式

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

檔案萬用字元:

*:任意長度任意字元

?:任意乙個字元

正規表示式:

1)字元匹配

.任意乙個字元

| 或 範圍內任意乙個字元

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

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

2)次數匹配

\* 匹配前面的乙個字元0次到n次

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

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

\匹配前面的乙個字元m次

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

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

\匹配前面乙個字元至少m次

3)位置錨定

^ 錨定行首

$ 錨定行尾

\b 錨定詞首和錨定詞尾

\> 錨定詞尾

\< 錨定詞首  \

4)分組

\(\) 示例:\(abc\)* 把abc看成乙個整體

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

shell指令碼學習筆記之grep 正規表示式

grep命令是linux中一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹配的行列印出來。grep全稱是global regular expression print,表示全域性正規表示式版本,它的使用許可權是所有使用者。grep的主要引數 c 只輸出匹配行的計數。i 不區分大小寫 只適用...

shell指令碼 grep以及正規表示式

grep命令 1 grep程式 linux三劍客 grep awk sed 2 grepl 文字 行過濾工具 awk 報告生成器 做文字輸出格式化 3 grep包含三個命令 grep egrep fgrep,它們是用來進行 行模式 pattern 匹配的 egrep grep e 使用擴充套件的正規...

shell指令碼學習(二) grep

1.grep egrep c 列印符合要求的行數 n 在輸出符合要求的行的同時連同行號一起輸出 v 列印不符合要求的行 r 會把目錄下面所有的檔案全部遍歷一遍 i 忽略大小寫 2.例子介紹 grep n root 1.txt grep n v root 1.txt 過濾出所有包含數字行 grep n...