我有两个具有多个 IP 地址的文件,我想找出不在第二个文件中的那些 IP。
文件一有
1.2.3.4
4.5.6.7
并且文件二有
117.239.57.130
117.239.58.226
103.248.120.245
115.249.55.100
1.2.3.4
4.5.6.7
所以我只想
117.239.57.130
117.239.58.226
103.248.120.245
115.249.55.100
这些 ip 不在文件 1 中。
答案1
快速而粗糙。由于对大文件的性能要求较高,因此无法在大型服务器基础设施上使用。但对于合理的文件大小可行:
当读取 file2_var 时;如果 [ “$file2_var” != “$(grep $file2_var path/to/file1)” ],则执行;然后 echo $file2_var >> file3.txt; fi ; 完成 < path/to/file2
我只是花了一个月的时间研究脚本,而且这是我在火车上做的,所以我不能保证它有效。我现在无法测试它,所以请测试它并告诉我它是否有效。
不得不编辑两次..如果你能读懂它,它现在应该有每个括号了。
新编辑。我搞乱了 grep 命令。已更正。儿子能实际测试一下吗
上次编辑,我刚刚测试了它。此命令有效。只需将其打包到一个文件中,使其可执行,然后使用 #!/bin/bash 启动该文件,就大功告成了。顺便说一句,我将输入文档更改为 path/to/file2,因为我希望这些文档包含所有 IP 地址,而 file1 仅包含您不想要的 IP 地址。所以,干杯。尽情享受吧