gpt4 book ai didi

bash - 是否有一个函数可以让我在文本文件中的一组行的开头添加一个字符串?

转载 作者:行者123 更新时间:2023-11-29 09:22:31 24 4
gpt4 key购买 nike

我正在尝试将 IP 地址(在下面的屏幕截图中)添加到每一行的开头以获得它们的相关结果。

Text File showing current format of results

当前文件格式:

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

最佳答案

能否请您尝试以下。

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

关于bash - 是否有一个函数可以让我在文本文件中的一组行的开头添加一个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55562213/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com