【发布时间】:2019-08-29 07:58:06
【问题描述】:
我有 2 个文件,一个是 telnet 命令的输出,另一个是 ip 和主机文件。我想根据公共 ip 合并这两个文件。
文件1:
25-08-2019_22.00.03 : Port port1 of URL http://ip1:port1/ is [ NOT OPEN ]
25-08-2019_22.00.03 : Port port2 of URL http://ip2:port2/ is [ NOT OPEN ]
文件 2 是:
http://ip1:port1/cs/personal, CS
http://ip2:port2/cs/Satellite/out/, CS_SAT
并且想要一个如下的输出文件:
25-08-2019_22.00.03 : Port port1 of URL http://ip1:port1/ is [ NOT OPEN ] : CS
25-08-2019_22.00.03 : Port port2 of URL http://ip2:port2/ is [ NOT OPEN ] : CS_SAT
我不是 linux 专家,非常感谢任何帮助。
我尝试了 join -o file file2 之类的连接选项,但它没有提供所需的输出。
我尝试了 awk 命令,例如为第一个文件创建键值对并运行第二个文件,但它没有给出任何输出,是因为文件中的分隔符或特殊字符吗?
awk 'FNR==NR{a[$2]=$1;next}{if(a[$1]==""){a[$1]=0};
print $1,$2,a[$1]}' file1 file2
【问题讨论】: