首页 > 代码库 > 16.自学Linux之路:文本处理工具egrep,fgrep
16.自学Linux之路:文本处理工具egrep,fgrep
egrep:使用扩展的正则表达式来构建模式,相当于grep -E
元字符:
字符匹配:
. :任意单个字符
[ ]:指定范围内任意单个字符
[^]:指定范围外的任意单个字符
次数匹配:
*:匹配其前面字符任意次
?:匹配其前面的字符0次或1次
+:匹配其前面的字符1次或多次
{m}:匹配m次
{m,n}:至少m次,至多n次
{m,}:至少m次
{0,n}:至多n次
锚定:
^:行首
$:行尾
\<,\b:词首
\>,\b:词尾
分组:
( ):分组
|:或者 例:ac|bc,表示ac或者bc,如果a(c|b)c,表示acc,abc
fgrep:fast,不解析正则表达式,需要找什么直接在模式里填写相应的内容即可
练习:
1.找出netstat -tan命令执行的结果中以"LISTEN"或"ESTABLISHED"结尾的行
#netstat -tan | grep --color=auto -E "LISTEN|ESTABLISHED[[:space:]]*"
2.匹配ip地址
#ifconfig | grep -E --color=auto "(\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>\.){3}(\<([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>)"
16.自学Linux之路:文本处理工具egrep,fgrep