zsh с vi-режимом: Как сохранить командную строку впрок без выполнения

Вам необходимо распечатать 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
0
14.10.2019, 20:46
1 ответ

Включите параметр оболочки interactivecommentsс помощью

setopt interactivecomments

и используйте действие #в обычном/командном режиме в командной строке (, т.е. нажмите Esc , а затем#). Это вставляет #перед строкой, немедленно отправляет строку (, которая будет проигнорирована, поскольку это комментарий ), и добавляет ее в историю командной строки. Это работает построчно, то есть, к сожалению, не очень хорошо работает с многострочными командами -.

Использование действия #для строки, которая уже закомментирована (, например. извлеченный из истории командной строки ), удаляет #из начала строки и отправляет его.

Параметр оболочки interactivecommentsпо умолчанию не установлен в интерактивных оболочках, но установлен в не интерактивных оболочках -.

1
28.01.2020, 02:39

Теги

Похожие вопросы