linux正規表示式企業級深度實踐案例1

2022-08-24 14:27:14 字數 2110 閱讀 1100

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 描述可能出現在使用者提交的文字中的一小段 我們通過它,將出現的 塊替換為特殊格式。正規表示式廣泛好用,但入門困難。目標 塊被分隔符包圍,分隔符一般選用斜槓 或井號 也可以用除字母 數字和反斜槓之外的任何字元作為分隔符。反斜槓可...