这是test.grep文件中的输出
# Ports Scanned: TCP(1;11032-11032) UDP(0;) SCTP(0;) PROTOCOLS(0;)
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///
# Masscan done at Sun Aug 17 16:46:30 2014
我想要一个只有ip地址的文件
127.0.0.1
127.0.0.1
127.0.0.1
127.0.0.1
127.0.0.1
127.0.0.1
127.0.0.1
127.0.0.1
127.0.0.1
127.0.0.1
127.0.0.1
任何人都可以帮我这样做我正在使用kali linux
答案 0 :(得分:2)
使用grep
:
grep -oP '(?<=Host: )\S*' file
grep -oP '(?<=Host: )\d+\.\d+\.\d+\.\d+' file
使用awk
:
awk '/^Host:/ { print $2 }' file
使用sed
:
sed -nr 's/^Host: (\S+).*/\1/p' file
sed -nr 's/^Host: ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+).*/\1/p' file
答案 1 :(得分:2)
使用GNU grep:
grep -oE '[0-9.]{7,15}' file
答案 2 :(得分:0)
如果你想要一个衬垫。
awk 'NR>2{ print l} {l=$0}' test.grep | awk '{print $2}'
应该这样做。 说明:
首先awk删除文件中的第一行和最后一行,下一行选择第二列,即IP地址。
是的,我知道我可以在一个awk语句中合并,但这很简单。
答案 3 :(得分:-1)
这应该有效:
awk '{ print $2 }'