- 論壇徽章:
- 0
|
本帖最后由 kevinadmin 于 2011-05-24 00:17 編輯
歷害!~~~
我的需求沒(méi)有說(shuō)清楚 不好意思。
還要有掩碼才可以,因?yàn)闀?huì)有段地址
像:
testipsec 192.123.11.0/24 TCP 8080 =====> IPSEC輸出的掩碼不是會(huì)是24 是255.255.255.0 需要轉(zhuǎn)換才可以。
我寫(xiě)了一個(gè)循環(huán),實(shí)現(xiàn)了。
現(xiàn)在最關(guān)鍵的一點(diǎn)沒(méi)有實(shí)現(xiàn),就是如何從所有的規(guī)則里面取出對(duì)應(yīng)的數(shù)據(jù)。
如果從文件中取,這個(gè)已經(jīng)實(shí)現(xiàn)了。命令如下:
netsh ipsec static show all |sed -n '/\testipsec/,/KERBEROS/{p;/KERBEROS/{n;:a;$!N;/.*\nKERBEROS[^\n]*$/{p;n};$b;ba}}'
我現(xiàn)在要把testipsec 替換成 $1 來(lái)接收輸入的參數(shù)值,匹配得到我想要的數(shù)據(jù)。
netsh ipsec static show all |sed -n '/\$1/,/KERBEROS/{p;/KERBEROS/{n;:a;$!N;/.*\nKERBEROS[^\n]*$/{p;n};$b;ba}}'
但是 sed的 ' ' 把$1變成了本身 不能接收輸入的數(shù)據(jù)值了。關(guān)鍵點(diǎn)在這里。
能幫忙看一下嗎?
TKS |
|