聽老師和學姐都說,正則表達式很重要,所以這次我總結一下,同時加強一下記憶。
目前我們學的正則表達式有:字符匹配;匹配字數;位置錨定。
:. 匹配任意單個字符
[] 匹配指定范圍內的任意單個字符
[^] 匹配指定范圍外的任意單個字符
[:alnum:] 或 [0-9a-zA-Z]
[:alpha:] 或 [a-zA-Z]
[:upper:] 或 [A-Z]
[:lower:] 或 [a-z]
[:blank:] 空白字符(空格和制表符)
[:space:] 水平和垂直的空白字符(比[:blank:]包含的范圍廣)
[:cntrl:] 不可打印的控制字符(退格、刪除、警鈴…)
[:digit:] 十進制數字 或[0-9]
[:xdigit:]十六進制數字
[:graph:] 可打印的非空白字符
[:print:] 可打印字符
[:punct:] 標點符號
. 匹配任意單個字符
[] 匹配指定范圍內的任意單個字符
[^] 匹配指定范圍外的任意單個字符
[:alnum:] 或 [0-9a-zA-Z]
[:alpha:] 或 [a-zA-Z]
[:digit:] 十進制
[:upper:] 或 [A-Z]
[:lower:] 或 [a-z]
匹配次數:
*匹配前面的字符任意次,包括0次
.*任意長度的任意字符
\?匹配其前面的字符0或1次
\+匹配其前面的字符至少1次
\{n\}匹配前面的字符n次
\{m,n\}匹配其前面的字符至少m次最多n次
位置錨定:
^行首錨定,用于模式的最左側
$行尾錨定,用于模式最右側
給給定字符著色
alias grep=’grep –color=auto’ 給所選中的項著色
grep -v root /etc/passwd :反選,除了root都顯示
grep -i root /etc/passwd :不區分大小寫
grep -o root /etc/passwd :只顯示root
grep -c root /etc/passwd :只顯示匹配到結果的行數
grep -A 3 root /etc/passwd :顯示root后3行
grep -B 3 root /etc/passwd :顯示root前3行
grep -C 3 root /etc/passwd :顯示root前后3行
grep -e root /etc/passwd :同時搜索多個關鍵字
例子:
grep -e root -e meng1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
meng1:x:509:512::/home/meng1:/bin/bash
rooter:x:511:514::/home/rooter:/bin/bash
grep -E root /etc/passwd :使用擴展正則表達式,或egrep
grep -W root /etc/passwd:僅顯示匹配關鍵字所在行
grep -F root /etc/passwd :不使用擴展正則表達式
patch -b 文件1 存放目錄: 使文件1 的內容更新為存放到目錄后新生成的文件
^ []外:以….開頭
內:非
原創文章,作者:menger,如若轉載,請注明出處:http://www.www58058.com/83458