2013-11-20 2 views
0

Мне нужна помощь, с помощью команды loop и Awk. Мне нужно фильтровать, выход пинг тестового сценария, где результат:Awk Loop | Несколько строк

--- hostname1 ping statistics --- 
15 packets transmitted, 14 packets received, 6% packet loss 
--- hostname2 ping statistics --- 
15 packets transmitted, 15 packets received, 0% packet loss 
--- hostname3 ping statistics --- 
15 packets transmitted, 15 packets received, 0% packet loss 
--- hostname3 ping statistics --- 
15 packets transmitted, 2 packets received, 86% packet loss 

... и что мне нужно что-то вроде петли и AWK, которые фильтр:

Линия 1 -> AWK ' {print $ (NF-3)} '-> hostname1

Строка 2 -> awk' {print $ (NF-2)} '-> Здесь мне также нужен CUT номера%, если возможно

ответ

1

Попробуйте следующее:

[ping command here] | awk '/^---/ {printf("%s ", $2)} /%/ { print $7} {next}' 
+0

: О, это решает меня много grep и awk, вы правила! большое спасибо. – tiago

+0

+1 для умного использования printf() без '\ n' – n0741337

Смежные вопросы