2012-05-15 2 views
2

У меня есть файл, который выводит URL как:Уточнить Использование Awk или Sed с Curl

// 
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 

Благодарю вас, и счастливый mumba!

ответ

2

Make it easy on yourself ... причиной расставания так очень легко сделать:

curl -k http://mumbarouter.com/get.asp\?statits | 
    awk -F\' '/wan_gateway_get/ {print $4}' 
+0

очевидно, красиво и ясно, +1. – ShinTakezou

+0

@reinierpost, спасибо, что тоже работает - как выбрать победителя? флип-монета? – user1396770

+0

Шин говорит, что ты побеждаешь! ;-) – user1396770

1

Следующая

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

является одним из возможных способов.

+0

, который отлично работал! Спасибо. – user1396770

+0

Я не могу решить, кого выбрать для победителя? мы все могли бы переворачивать монету. – user1396770

+0

его один короче и яснее и имеет меньше репутации, поэтому я бы выбрал его; но, конечно, вам конечно – ShinTakezou

0

TXR решение: синтаксический анализ свободной формы. (Обязательное закрывающая скобка добавляется к примеру данных.)

@(define comment)//@[email protected]\[email protected](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)[email protected](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