我试图把IP地址(在下面的截图中)加到每一行的开头,以了解它们的相对结果。
当前文件格式:
Host: 192.168.1.4 ()
21 open tcp ftp vsftpd 2.3.4
23 open tcp telnet Linux telnetd
25 open tcp smtp Postfix smtpd
53 open tcp domain ISC BIND 9.4.2
Host: 192.168.1.6 ()
21 open tcp ftp Microsoft ftpd
25 open tcp smtp Microsoft ESMTP 6.0.2600.2180
80 open tcp http Microsoft IIS httpd 5.1
135 open tcp msrpc Microsoft Windows RPC
139 open tcp netbios-ssn Microsoft Windows netbios-ssn 我已设法将第一个IP地址附加到每一行的开头,使用以下内容:
awk 'NR==1{IP="IP" FS $2 FS}NR!=1{$0=IP $0;print}' IPadd.txt > new.txt有没有办法修改这个函数,以便在每一行的开头都有不同的IP,并生成这样的文件:
我想让新的文本文件读:
192.168.1.4 21 open tcp ftp vsftpd 2.3.4
192.168.1.4 23 open tcp telnet Linux telnetd
192.168.1.4 25 open tcp smtp Postfix smtpd
192.168.1.4 53 open tcp domain ISC BIND 9.4.2
192.168.1.6 21 open tcp ftp Microsoft ftpd
192.168.1.6 25 open tcp smtp Microsoft ESMTP 6.0.2600.2180
192.168.1.6 80 open tcp http Microsoft IIS httpd 5.1
192.168.1.6 135 open tcp msrpc Microsoft Windows RPC
192.168.1.6 139 open tcp netbios-ssn Microsoft Windows netbios-ssn 发布于 2019-04-07 18:18:48
你能试一下吗。
awk '/^Host:/{ip=$2;next} NF{print ip,$0}' Input_file输出如下。
192.168.1.4 21 open tcp ftp vsftpd 2.3.4
192.168.1.4 23 open tcp telnet Linux telnetd
192.168.1.4 25 open tcp smtp Postfix smtpd
192.168.1.4 53 open tcp domain ISC BIND 9.4.2
192.168.1.6 21 open tcp ftp Microsoft ftpd
192.168.1.6 25 open tcp smtp Microsoft ESMTP 6.0.2600.2180
192.168.1.6 80 open tcp http Microsoft IIS httpd 5.1
192.168.1.6 135 open tcp msrpc Microsoft Windows RPC
192.168.1.6 139 open tcp netbios-ssn Microsoft Windows netbios-ssn发布于 2019-04-08 09:00:07
这可能对您有用(GNU sed):
sed '/^Host/h;//d;G;s/\(.*\)\nHost: \(.*\) ()/\2 \1/' file复制当前主机行并将其附加到非主机行,操作主机行以只显示ip地址。
https://stackoverflow.com/questions/55562213
复制相似问题