我有一個簡單的任務:sed的正則表達式有不同的情況
從這樣的輸出:
[[email protected]:~]# racoonctl -s /var/racoon/racoon.sock ss isakmp
Destination Cookies Created
89.208.102.86.500 d0a641ed0aa7bfe9:7ae3428b08fab146 2013-02-04 15:32:18
需要採取只有IP地址字符串和日期字符串(在不同的請求)。
對於IP我已經寫了下面的正則表達式:
[[email protected]:~]# racoonctl -s /var/racoon/racoon.sock ss isakmp | sed -ne 's/^\(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\).*/\1/p'
89.208.102.86
但日期不起作用
[[email protected]:~]# racoonctl -s /var/racoon/racoon.sock ss isakmp | sed -ne 's/^.*\([0-9]\{4\}\(\-[0-9]\{2\}\)\{2\}\ \([0-9]\{2\}:\)\{2\}[0-9]\{2\}\)$/\2/p'
[[email protected]:~]#
不能明白的地方是錯誤?
我也想改變/(表達/)和/ {表達/}標誌使用-r,但不知道怎麼會做
預先感謝您
附: 我也知道替代變型:
[[email protected]:~]# racoonctl -s /var/racoon/racoon.sock ss isakmp |awk -F\. '/[0-9]/ {print $1"."$2"."$3"."$4}'
89.208.102.86
[[email protected]:~]# racoonctl -s /var/racoon/racoon.sock ss isakmp | awk '/[0-9]/ {print $3 " " $4}'
2013-02-04 15:32:18
但我想這樣做的SED,爲我的未來hadrly任務。
謝謝你,我也有了解簡化我的表達式:'racoonctl -s /var/racoon/racoon.sock ss isakmp | sed -rne's /^.*([0-9] {4}(\ - [0-9] {2}){2})/ \ 1/p'' –