Bash - 在 for 循环中获取 nc 输出

Bash - Grepping nc output in a for loop

我目前正在尝试在 bash 单行循环中对 nc 的输出进行 grep,只显示其中包含 open 字符串的行。我已经尝试 --line-buffered 但没有成功。谁能告诉我我做错了什么?命令如下:

root@kali:~# for host in $(seq 200 254); do nc -nvv -w 1 -z 192.168.15.$host 80 | grep --line-buffered "open"; done

stderr 重定向到 stdout,这样您就可以 grep 它了。 您可以将 2>&1 放在 do| 之间的任何位置。