Вам необходимо распечатать 6-е поле, а также 4-е
Это должно вернуть то, что вы ожидали получить. (так как я не знаю результата команды и наверняка найдется более эффективный способ.)
netstat -lnt -u -p | awk '{print $4,$6}' | sed 's/.*://' | sort -n | uniq
Вот как вы можете получить единственный порт и имя программы (никаких дополнительных sed
Требуется и sort
команда может uniqe с ее -u
опцией):
netstat -lnt -u -p | awk -F"[,:/]" '{print $5,$NF}'| sort -un
36195 java
Включите параметр оболочки interactivecomments
с помощью
setopt interactivecomments
и используйте действие #
в обычном/командном режиме в командной строке (, т.е. нажмите Esc , а затем#). Это вставляет #
перед строкой, немедленно отправляет строку (, которая будет проигнорирована, поскольку это комментарий ), и добавляет ее в историю командной строки. Это работает построчно, то есть, к сожалению, не очень хорошо работает с многострочными командами -.
Использование действия #
для строки, которая уже закомментирована (, например. извлеченный из истории командной строки ), удаляет #
из начала строки и отправляет его.
Параметр оболочки interactivecomments
по умолчанию не установлен в интерактивных оболочках, но установлен в не интерактивных оболочках -.