linux正規表示式結合三劍客企業級實踐:
1、取系統ip
[root@redhat~]# ifconfig eth0
解答:替換命令:
sed 's#支援正則位置##g' file
先取第2行:
[root@redhat~]# ifconfig eth0 | sed -n ' 2p '
inet addr:192.168.31.135 bcast:192.168.31.255 mask:255.255.255.0
^ .*匹配,如果不給目標前的固定結尾就會匹配到行尾,結果就匹配一行
[root@redhat~]# ifconfig eth0 | sed -n ' 2p ' | sed ' s#^ .*##g '
對目標前的內容匹配替換:
[root@redhat~]# ifconfig eth0 | sed -n ' 2p ' | sed ' s#^ .*dr :##g '
192.168.31.135 bcast:192.168.31.255 mask:255.255.255.0
對目標後的內容匹配替換:
[root@redhat~]# ifconfig eth0 | sed -n ' 2p ' | sed ' s#^ .*dr :##g ' | sed ' s#b.*$##g '
192.168.31.135 <==這裡結尾有兩個空格
[root@redhat~]# ifconfig eth0 | sed -n ' 2p ' | sed ' s#^ .*dr :##g ' | sed ' s# b.*$##g '
192.168.31.135 <==這裡結尾無空格
sed -n 's#支援正則位置##gp' file
inet addr:192.168.31.135 bcast:192.168.31.255 mask:255.255.255.0
處理技巧:
匹配需要的目標(獲取的字串如上文的ip)前的字串一般用以..開頭(^.*)來匹配開頭,匹配的結尾寫上實際的字元,
如: " ^.*addr: " 表示式就匹配 " inet addr: " ,而處理需要的目標後的內容一般在匹配的開頭寫上實際的字元,而結尾是用以...結尾(.*$)來匹配。如:bcast: .*$ 部分表示匹配 "bcast: 192.168.31.255 mask:255.255.255.0"。
方法2:
替換命令1:
sed -nr ' s#支援正則位置##gp ' file
指定行號:s前的2為行號
sed -nr ' 2s#支援正則位置##gp ' file
解答:[root@redhat~]# ifconfig eth0 | sed -n ' s#^ .*adrr :##g ' | sed -n ' s# bc.*$##gp '
192.168.31.135
[root@redhat~]# ifconfig eth0 | sed -n ' 2s#^ .*adrr :##g ' | sed -n ' s# bc.*$##gp '
192.168.31.135
sed的後向引用:
sed -n ' s#() ()#\1\2#gp ' file
當在前面匹配部分用小括號的時候,第乙個括號內容,可以在後面部分用\1輸出。
第乙個括號內容,可以在後面部分用\2輸出。
[root@redhat~]# echo i am redhat linux. >a.txt
[root@redhat~]# cat a.tet
i am redhat linux.
[root@redhat~]# sed -n ' s#^ .*m ##gp ' a.txt
redhat linux.
[root@redhat~]# sed -nr ' s#^ .*m (.*) l.*$#\l#gp ' a.tet
redhat
[root@redhat~]# ifconfig eth0 | sed -nr ' s#^ .*dr:(.*) b.*$#\l#gp '
js正規表示式企業級應用例項
最近工作上大量用到了正規表示式,在此記錄一下。注 本文注重實際效用,具體理論不詳述 作為官方套路,首先還是簡單看看度娘上是怎麼說的 正規表示式,又稱規則表示式。英語 regular expression,在 中常簡寫為regex regexp或re 電腦科學的乙個概念。正則表通常被用來檢索 替換那些...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...
高階級 正規表示式
php中的正則函式結語 正規表示式 regular expression 描述可能出現在使用者提交的文字中的一小段 我們通過它,將出現的 塊替換為特殊格式。正規表示式廣泛好用,但入門困難。目標 塊被分隔符包圍,分隔符一般選用斜槓 或井號 也可以用除字母 數字和反斜槓之外的任何字元作為分隔符。反斜槓可...