2

私は次のように出力するファイルのURLを持っています:

//
data = {
    'ip': '',
    'server_ip': '',
    'router_name': 'Banana Hammock',
    'wan_domain': '',
    'wan_gateway': '74.125.224.32',
    'wan_gateway_get': '74.125.224.32',
    'wan_get_domain': 'isp.example.com',
    'wan_hostname': 'MumbaVille',
    'wan_hwaddr': '00:00:00:00:00:00',

このコマンドを使用して wan_gateway_get を取得しています。

curl -k http://mumbarouter.com/get.asp?statits | awk '/wan_gateway_get/ {print $2}'

出力:

'74.125.224.32',
=

どうすれば出力できますか:

74.125.224.32

ありがとう、ハッピーマンバ!

4

3 に答える 3

2

自分を楽にしてください...なぜなら解散はとても簡単だからです:

curl -k http://mumbarouter.com/get.asp\?statits |
  awk -F\' '/wan_gateway_get/ {print $4}'
于 2012-05-15T17:25:33.530 に答える
1

以下

awk '/wan_gateway_get/ {match($2, "[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+"); print substr($2,RSTART,RLENGTH)}'

可能な方法の1つです。

于 2012-05-15T17:25:55.940 に答える
0

TXRソリューション: 実際の構文の自由形式の解析。(必須の右中括弧がサンプル データに追加されました。)

@(define comment)//@nil@\n@(end)
@(define ws)@(cases)@(comment)@(or)@/\s*/@(end)@(end)
@(define id (id))@(ws)@{id /\w[\w\d_]+/}@(ws)@(end)
@(define item (it))@(ws)'@{it /[^']+/}'@(ws)@(end)
@(define braced_key_values (ithash))@\
  {@(coll)@(item key):@(item value)@(until)}@(end)}@\
  @(bind ithash @(progn '#H((:equal-based) ,*[mapcar list key value])))@\
@(end)
@(freeform)
@(id config)@(ws)=@(ws)@(braced_key_values config-hash)
@(output)
wan_gateway in configuration "@config" is @[config-hash "wan_gateway"]
@(end)

走る:

$ txr data.txr data.txt
wan_gateway in configuration "data" is 74.125.224.32
于 2012-05-15T20:57:44.963 に答える