Пытаюсь освоить сабж, для тестов был выбран файл /etc/services. Получилось выделить название и значение порта, не могу отделить только номер порта, вот что делаю:
~$ sed -e '/\(^$\|^#\)/d' -e 's/\([0-9]\+\)\/\(tcp\|udp\|\ddp\|sctp\)\(.*\)/\1/g' /etc/services
tcpmux 1
echo 7
echo 7
discard 9
…
asp 27374
asp 27374
csync2 30865
dircproxy 57000
tfido 60177
fido 60179