需要为 ip 过滤器创建一个 bash 脚本

需要为 ip 过滤器创建一个 bash 脚本

我有两个具有多个 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 地址。所以,干杯。尽情享受吧

相关内容