1、grep
grep [options] PATTERN [FILE...]
-v:反向搜索,顯示出沒有出現“搜索模式”的哪一行
-o:僅顯示被模式匹配到的字符串
-q:搜索模式匹配後結果不顯示,哪怕結果沒有搜索到
-A:顯示搜索模式所在行後面的num行
-B:顯示搜索模式所在行前面的num行
-C:顯示搜索模式所在行後面的num行,和後面的num行
-E:使用擴展怎着表達式
-- colour==auto
基本正則表達式元素符:
1、字符匹配
. :匹配任意單個字符
[]:匹配指定範圍內的任意單個字符
[^]:匹配指定範圍外的任意單個字符
[:lower:],[:upper:],[:alpha:],[:digit:],[:alnum:],[:punnct:]
2、次數匹配
*:前邊字符任意次數
.*:任意單個字符任意多次
\?:前邊單個字符0—1次
\+:前邊單個字符至少1次
\{m}:前邊單個字符m次
\{m,n\}:前邊單個字符m到n次
\{m,\}:前邊單給字符至少m次
3、錨點匹配
^:匹配模式搜索到的在行首的字符
$:匹配模式搜索到的在行尾的字符
^[[:space:]]$:匹配空行
\<:匹配模式搜索到的在詞首的字符
\>:匹配模式搜索到的在詞尾的字符
4、分組
\( \):將單個字符或者多個字符捆綁在一起當做整體處理
後向引用:引用前面分組括號所引用的內容
注:分組括號中模式匹配到的內容會被內容會被保存在grep內部的變量中,這些變量的命名方式爲:\1,\2,,,,等等。
\1:左起第一個括號到與之相對應的括號完,之間的被模式所搜索到的字符
擴展正則表達式:egrep
grep -E=egrep
1、字符匹配
. :匹配任意單個字符
[]:匹配指定範圍內的任意單個字符
[^]:匹配指定範圍外的任意單個字符
[:lower:],[:upper:],[:alpha:],[:digit:],[:alnum:],[:punnct:]
2、次數匹配
*:前邊字符任意次數
.*:任意單個字符任意多次
?:前邊單個字符0—1次
+:前邊單個字符至少1次
{m}:前邊單個字符m次
{m,n}:前邊單個字符m到n次
{m,}:前邊單給字符至少m次
次數匹配與基本正則表達式的區別是不用轉義字符\
3、錨點匹配
^:匹配模式搜索到的在行首的字符
$:匹配模式搜索到的在行尾的字符
^[[:space:]]$:匹配空行
\<:匹配模式搜索到的在詞首的字符
\>:匹配模式搜索到的在詞尾的字符
4、分組
( ):將單個字符或者多個字符捆綁在一起當做整體處理
後向引用:引用前面分組括號所引用的內容
5、或者
a|b
eg:C|cat 匹配左邊或右邊
(C|c)at:匹配Cat或者cat
fgrep:不支持正則表達式,按給的的字符來匹配