grep 根據模式搜索文本,顯示匹配行
-i 忽略大小寫
--color=auto 匹配上的以顏色顯示
-v 反向查找,顯示沒有被匹配上的行
-o 只顯示被模式匹配到的字符串本身
正則表達式
元字符
. 任意單個字符
[] 指定範圍內的任意單個字符
[^] 指定範圍外的任意單個字符
在bash,*代表任意長度任意字符,?代表任意單個字符;在正則裏, .*代表任意長度任意字符,.代表任意單個字符
次數匹配
\? 匹配前面字符次數1次或0次
* 匹配它前面的字符任意次
\{m,n\} 匹配前面字符至少m次,至多n次;\{1,\}至少1次;\{,3\}最多3次
位置錨定
^ 錨定行首,此字符後面匹配的任意字符必須在行首
$ 錨定行尾,此字符前面匹配的任意字符必須在行尾
^$ 空白行
統計空行
grep --color=auto "^$" test5 |wc -l
\<或\b 其後面的任意字符必須作爲單詞的首部出現
\>或\b 其前面的任意字符必須作爲單詞的尾部出現
\<root\> 或 \broot\b 單詞root
擴展正則表達式
egrep或grep -E
元字符
.
[]
[^]
次數匹配
* 匹配其前面任意次
? 匹配其前面的字符一次或零次
+ 匹配其前面的字符至少一次
{m,n}
位置錨定
^
$
\<或\b
\>或\b
| 或者
支持過濾多個字段