我已经将nmap结果输出到一个名为test.txt的文件中,它如下所示:
Nmap scan report for 192.168.1.5
Host is up (0.13s latency).
PORT STATE SERVICE VERSION
23/tcp open telnet Linux telnetd
--
Nmap scan report for 192.168.1.7
Host is up (0.13s latency).
PORT STATE SERVICE VERSION
80/tcp open http Popper
--
Nmap scan report for 192.168.1.20
Host is up (0.13s latency).
PORT STATE SERVICE VERSION
110/tcp open pop3 Dove我希望使用grep和管道输出来自我终端中文件的结果,该文件以格式: IP地址显示结果,后面是打开的端口,如下所示:
192.168.10.2
80
223
53
192.168.10.7
80
223发布于 2016-03-27 20:35:48
我会做以下几件事:
^)并以“/”字符结尾,而ip是行上的最后一项($)。grep -o查找任何正则表达式(查看regex (|)上的OR操作符)。这将使输出减少到仅匹配。发布于 2016-03-28 10:04:08
你可能想:
cat test.txt | sed 's/Nmap scan report for //' | sed '/Host is/d' | sed '/Not shown/d' | sed '/All/d' | sed '/PORT /d' | cut -f1 -d"/" | sed '/^$/d' | sed '/--/d'对于nmap -F 192.168.0.1/24 > test.txt
cat test.txt | tail -n+3 | sed '/Nmap done/d' | awk 'NR>1{print l}{l=$0}' | sed 's/Nmap scan report for //' | sed '/Host is/d' | sed '/Not shown/d' | sed '/All/d' | sed '/PORT /d' | cut -f1 -d"/" | sed '/^$/d'的笑话,,这没有道理.将nmap与XML输出-oX结合使用。
https://stackoverflow.com/questions/36252194
复制相似问题