linux grep 正規表示式學習

2021-10-08 23:14:23 字數 3667 閱讀 3675

grep -o 只顯示搜尋字元

grep -i :忽略大小寫

grep -v 不顯示搜尋內容

grep -q 靜態 不返回任何字元,(0 有搜尋內容 1-255 沒有搜尋內容)

[root@bogon ~]

# grep -q "uuid" /etc/fstab

[root@bogon ~]

# echo $?

0

grep -a n 搜尋行後面的n行 (after)

[root@bogon ~]

# grep -a 2 root /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

--operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

ftp:x:14:50:ftp user:/var/ftp:/sbin/nolog

in

grep -b n 帶搜尋前的n行(before)

[root@bogon ~]

# grep -a 2 root /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

--operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

ftp:x:14:50:ftp user:/var/ftp:/sbin/nologin

[root@bogon ~]

# grep -b 2 root /etc/passwd

root:x:0:0:root:/root:/bin/bash

--halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

grep -c n 前後各n行(context)

[root@bogon ~]

# grep -c 2 root /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

--halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

ftp:x:14:50:ftp user:/var/ftp:/sbin/nologin

基本正規表示式元字元:

字元匹配:

.:匹配任意單個字元

:匹配指定範圍內的任意單個字元

[^]:匹配指定範圍外的任意單個字元

匹配都是數字:[:digit:] 匹配都是小寫字母:[:lower:] 匹配都是大寫字母:[:upper:]

匹配包含數字:[:alnum:] 匹配標點符號[:punct:] 匹配空格 [:space:]

匹配rt之間有兩個字母

匹配次數:用於要制定其出現的次數的字元的後面,用於限制七前面字元出現的次數:

*:匹配其前面的字元任意次:

.*:匹配任意字元

\?: 匹配其前面的字元0次或一次;即其前面的字元是可有可無的(必須帶引號)

\+:匹配前面的字元1次或多次

\:匹配前面的字元m次

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

位置錨定:

^:行首錨定:用於模式的最左側;

$:行尾錨定:用於模式的最右側;

^pattern$:用於pattern來匹配整行

^$:空白行

^[[:space:]]*$:空行或包含空白字元的行

單詞:非特殊字元組成的連續字元(字串)都稱是為單詞;

\《或\b:詞首錨定,用於單詞模式的左側;

\>或\b:詞尾錨定,用於單詞模式的右側;

():將乙個或多字元**在一起,當做乙個整體進行處理;

例如:(xy)*ab

note:分組括號中的模式匹配到的內容會被正規表示式引擎自動記錄與內部的變數中,這些變數為:

\1:模式從左側起,第乙個左括號以及與之匹配的右括號之間的模式所匹配的字元

\2:模式從左側起,第二個左括號以及與之匹配的右括號之間的模式所匹配的字元

…例如:搜尋前後都是love 或這前後都是like

後向引用:引用前面的分組括號中的模式所匹配的字元;

linux grep 正規表示式

grep正規表示式元字符集 錨定行的開始 如 grep 匹配所有以grep開頭的行。錨定行的結束 如 grep 匹配所有以grep結尾的行。匹配乙個非換行符的字元 如 gr.p 匹配gr後接乙個任意字元,然後是p。匹配零個或多個先前字元 如 grep 匹配所有乙個或多個空格後緊跟grep的行。一起用...

linux grep 正規表示式

grep正規表示式元字符集 錨定行的開始 如 grep 匹配所有以grep開頭的行。錨定行的結束 如 grep 匹配所有以grep結尾的行。匹配乙個非換行符的字元 如 gr.p 匹配gr後接乙個任意字元,然後是p。匹配零個或多個先前字元 如 grep 匹配所有乙個或多個空格後緊跟grep的行。一起用...

linux grep 正規表示式

grep正規表示式元字符集 錨定行的開始 如 grep 匹配所有以grep開頭的行。錨定行的結束 如 grep 匹配所有以grep結尾的行。匹配乙個非換行符的字元 如 gr.p 匹配gr後接乙個任意字元,然後是p。匹配零個或多個先前字元 如 grep 匹配所有乙個或多個空格後緊跟grep的行。一起用...