任何人都知道如何 grep 文件并查找 2 行信息并仅输出这些行。我正在我们的网络 10.1.1.x - 10.1.254.x 上执行 nmap 扫描,我正在寻找所有开放端口 22 的 IP。Nmap 创建我的文件,但它包含具有以下 3 种类型条目的条目
Nmap scan report for 10.1.0.1
<br>Host is up 93.1s latency).
<br>Scanned at (Date) (Time)
<br>Port State Service
<br>22/tcp filtered ssh
Nmap scan report for 10.1.0.2
<br>Host is up 93.1s latency).
<br>Scanned at (Date) (Time)
<br>Port State Service
<br>22/tcp open ssh
Nmap scan report for 10.1.0.3
<br>Host is up 93.1s latency).
<br>Scanned at (Date) (Time)
<br>Port State Service
<br>22/tcp open ssh
Nmap scan report for 10.1.0.4
<br>Host is up 93.1s latency).
<br>Scanned at (Date) (Time)
<br>Port State Service
<br>22/tcp filtered ssh
我正在寻找 grep 文件并返回第 1 行和第 5 行,并且仅当第 5 行包含 open 时。
我试过了:grep -e '10.1' -e 'open' file.txt
这可以满足我的要求,但会返回每行 1 以及第 1 行和第 5 行
我试过了:sed -e '/10.1./,/open/!d' file.txt
但这返回与使用相同: cat file.txt
也试过awk '/10/ && /open/' file.txt
但没有返回任何东西
有什么建议么