На Centos работает такая регулярка, на OpenWrt упорно нет.
for a in $(</www/ping/servers); do /usr/bin/nmap `echo $a | sed -e 's/:/ -p /'` | grep -q "/tcp *open " || echo $a; done >> /www/ping/serverlist_n;
Мне нужно проверять открытый порт хостов из списка файла /www/ping/servers и если порт не отвечает открытым, писать ip в файл /www/ping/serverlist_n
192.168.0.30:22 192.168.0.31:21
root@metarouter:~# nmap 192.168.0.31 -p 80
Starting Nmap 5.51 ( http://nmap.org ) at 2014-12-10 18:59 UTC
Nmap scan report for 192.168.0.31
Host is up (0.0045s latency).
PORT STATE SERVICE
80/tcp open http
MAC Address: 44:19:B8:1D:61:07 (Unknown)
Nmap done: 1 IP address (1 host up) scanned in 12.40 seconds
root@metarouter:~# nmap 192.168.0.31 -p 81
Starting Nmap 5.51 ( http://nmap.org ) at 2014-12-10 18:59 UTC
Nmap scan report for 192.168.0.31
Host is up (0.0080s latency).
PORT STATE SERVICE
81/tcp closed hosts2-ns
MAC Address: 44:19:B8:1D:61:07 (Unknown)
Nmap done: 1 IP address (1 host up) scanned in 12.53 seconds