РЕДАКТИРОВАТЬ: Так как OP запросил вывод в одну строку, поэтому добавьте следующее решение сейчас.
awk 'BEGIN{OFS=","} /}/{found=""} /forwarders {/{found=1} found && match($0,/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/){gsub(/ +/," ");val=(val?val OFS:"")$0}END{print val}' Input_file
ИЛИ не одна форма решения лайнера.
awk '
BEGIN{
OFS=","
}
/}/{
found=""
}
/forwarders {/{
found=1
}
found && match($0,/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/){
gsub(/ +/," ")
val=(val?val OFS:"")$0
}
END{
print val
}' Input_file
ИЛИ, как уже упоминалось ранее, чтобы напечатать что-нибудь внутри блока пересылки, попробуйте:
awk '/}/{found=""} /forwarders {/{found=1;next} found{gsub(/ +/," ");val=(val?val OFS:"")$0} END{print val}' Input_file
Не могли бы вы попробовать выполнить следующее (учитывая, что вам нужно тольконапечатайте IP-адреса внутри тега).
awk '/}/{found=""} /forwarders {/{found=1} found && match($0,/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/)' Input_file
Если теги пересылки вам нужны, попробуйте выполнить следующее.
awk '/}/{found=""} /forwarders {/{found=1;next} found' Input_file