@搜索埠--正則表達式@
@搜索埠--正則表達式@
文章出處http://blog.csdn.net/zhuying_linux/article/details/6822987
假如說我在一段代碼中想搜出一個埠,那麼怎麼做呢,下面我們來看一個例子:
# cat port
AdminServerServer-230-17002Cluster-1192.168.55.230我們的目的是提取那個埠7002,但是我們使用grep搜索出來卻還是那段代碼,因為這本來就是一行,例如:# cat port |grep ""
AdminServerServer-230-17002Cluster-1192.168.55.230至於那個awk,cut之類的覺得未免又有些麻煩,那麼我們該怎麼辦呢,這個時候就應該想起正則表達式,它的功能相當的強大,看看下面就知道了~
# cat port |egrep -o '{4}'
7002
假如我們的埠號有可能是5位的話,應該將上面的改成
# cat port |egrep -o '{4,5}'
7002
下面我們來總結一下它的用法吧~
grep的用法:
x\{m\}
重複字元x,m次,如:/0\{5\}/匹配包含5個o的行。
x\{m,\}
重複字元x,至少m次,如:/o\{5,\}/匹配至少有5個o的行。
x\{m,n\}
重複字元x,至少m次,不多於n次,如:/o\{5,10\}/匹配5--10個o的行。
egrep的用法:
x{m}
重複字元x,m次,如:/0\{5\}/匹配包含5個o的行。
x{m,}
重複字元x,至少m次,如:/o\{5,\}/匹配至少有5個o的行。
x{m,n}
重複字元x,至少m次,不多於n次,如:/o\{5,10\}/匹配5--10個o的行。 《解決方案》
學習鳥 謝謝分享