shell正則

正則表達式
正則表達式 由     元字符 、普通字符  、元字符 和普通字符  組成正則表達式

語法格式
grep   [選項]    '正則表達式'     文件列表
命令  |   grep   [選項]    '正則表達式'ssh

-------------------------------------------------------
ps  aux  |  grep   sshd
grep   root  /etc/passwdide

選項?
--color  標紅顯示匹配字串
-q 靜默,無任何輸出,通常用於檢測
-c    統計匹配的行數
-n    顯示出匹配結果所在的行號
-v  條件取反
-i   忽略字母大小寫
-E  使匹配條件轉義(或者用egrep)ip

元字符  有哪些?
^  匹配行首
$   匹配行尾
.    任意單個字符(不包括換號符號 \n)
----------------------------------------------------------------------
定義前邊的正則表達式出現的次數it

\+  前邊的正則表達式出現1次到屢次
\? 前邊的正則表達式出現0次到1次
*   前邊的正則表達式出現0次到屢次
----------------------------------------------------------------------class

\(\)     把正則表達式作爲總體匹配語法

----------------------------------------------------------------------
\{\} 限定前邊正則表達式出現的次數grep

{N}前邊正則表達式必須出現N次
{N,}前邊正則表達式至少出現N次
{N,M}前邊正則表達式至少出現N次 最多出現M次
----------------------------------------------------------------------
[ ]  範圍內匹配,範圍內任意一個字符  (次數是一次)
[a-z]    匹配全部小寫字母
[A-Z]    匹配全部大寫字母統計

[a-Z]
[a-zA-Z]    匹配全部大小寫字母di

[279]
[0-9]   匹配全部數字

[a-Z0-9]  匹配全部大小寫字母和數字


^[    ]    以範圍內的開頭
^[a-z]
^[0-9]
^[169]
^[afw]

[   ]$   以範圍內的結束

^[a-c][0-9]$

[^    ]    範圍內取反

^[^a-Z0-9]    匹配以符號開頭的行

------------------------------------------------------------
\|   或

  grep  --color  '^root\|^daemon'  /etc/passwd   列出以root或者以daemon開頭的行
 grep  --color  '^[rd]'  /etc/passwd   列出以r或者以d開頭的行
----------------------------------------------------------------------

\<  單詞的開頭
\>  單詞的結束
   head -5 /etc/httpd/conf/httpd.conf  | grep  --color  '\<c'  列出以帶c開頭的單詞的行
   head -5 /etc/httpd/conf/httpd.conf  | grep  --color  's\>'    列出以帶s結尾的單詞的行

\b   單詞邊界

   grep --color   '\btom' d.txt  單詞左邊包含tom的行 
    grep --color   'tom\b' d.txt  單詞右邊包含tom的行   

   grep --color   '\btom\b' d.txt   單詞只包含tom的行 邊界無其餘字符

---------------------------------------------------------------------

XX:XX:XX:XX:XX:XX

 

grep  -E  --color  '([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}'  mac.txt


0 1 2 3 4 5 6 7 8 9 a b c d e f  A B C DEF
                                
grep  --color  '\([0-9A-Fa-f]\{2\}:\)\{5\}[0-9A-Fa-f]\{2\}'  mac.txt
      ---------------------------------------------------------------------

ip的正則表達式(括號的大小寫很嚴格,點須要轉義)

grep -E '^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){2}([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])$'  

相關文章
相關標籤/搜索