Используйте grep
для сопоставления начала нужных строк (проверьте, не совпадает ли оно с другими строками):
grep -E '^(Nmap scan report for|Host script results:|\|[ _])' INPUT.txt
Или sed
и шаблон диапазона (, аналогичный решению awk)
sed -n '/^Nmap scan report for/,/^|_/p' INPUT.txt
^Nmap scan report for
^|_
Да, вы можете сделать это с помощью псевдотерминалов -. Это то, как работают такие программы, как сервер SSH, экран GNU и все эмуляторы терминала с графическим интерфейсом, чтобы представить терминал программам, которые они запускают.
С помощью screen
довольно просто проверить это самостоятельно :Запустите сеанс screen
, затем запуститеscreen -X 'sudo id\nsecretpassword\n'
(изнутри или снаружи этогоscreen
).
Вы увидите команду и ее вывод в сеансе screen
:
$ sudo id
[sudo] password for ilkkachu:
uid=0(root) gid=0(root) groups=0(root)
$