![根据条件比较两个文件之间的IP信息并将结果输出到两个不同的文件](https://linux22.com/image/11051/%E6%A0%B9%E6%8D%AE%E6%9D%A1%E4%BB%B6%E6%AF%94%E8%BE%83%E4%B8%A4%E4%B8%AA%E6%96%87%E4%BB%B6%E4%B9%8B%E9%97%B4%E7%9A%84IP%E4%BF%A1%E6%81%AF%E5%B9%B6%E5%B0%86%E7%BB%93%E6%9E%9C%E8%BE%93%E5%87%BA%E5%88%B0%E4%B8%A4%E4%B8%AA%E4%B8%8D%E5%90%8C%E7%9A%84%E6%96%87%E4%BB%B6.png)
我有一个名为“knownIP”的文件。该文件包含一组 Windows 服务器的已知 IP 地址。这些 IP 地址对于这组 Windows 服务器来说是唯一的。
我有另一个名为“scanip”的文件。该文件包含来自漏洞扫描程序的 IP 地址。这些 IP 地址是: Windows 服务器组的 IP 地址加其他操作系统和网络设备混合在一起。
我想做两件事:
- 将文件“knownIP”与文件“scanip”进行比较,并打印出文件“knownIP”中不存在的IP。
- 将文件“knownIP”与文件“scanip”进行比较,并打印出仅存在于文件“knownIP”中的IP。
这是我的语法:
if diff knownIP scanip > Output;then
echo The two files are the same
else
echo The two files are different
fi
这是一个文件示例knownIP
,它只是一个包含 IP 地址列表的文件。
172.17.29.14
172.17.28.89
答案1
If diff knownip scanip -eq 0
Then
Echo "two files are same"
Else
Echo "two files are different"
comm knownip scanip > file1
Cat Not_exist_knownip=scanip-file1 #1
Cat knownip. #2