文章说明:本篇介绍使用Linux的bash命令筛选俩个txt文本文档重复项,如果IP地址很多的情况,可以帮我们快速去重。

1、脚本命令

nano compare_ips.sh
#!/bin/bash

file1="/root/google_ip.txt"
file2="/root/chatgpt_ip.txt"

# 提取每个文件中的前三个字段,然后对它们进行排序并去重
awk -F'[./]' '{print $1"."$2"."$3}' "$file1" | sort -u > temp1.txt
awk -F'[./]' '{print $1"."$2"."$3}' "$file2" | sort -u > temp2.txt

# 比较两个文件,将共有的内容保存到 common_prefixes.txt
comm -12 temp1.txt temp2.txt > common_prefixes.txt

# 根据共有的内容,从原始文件中找到匹配的数据并保存到 ip.txt 文件中
grep -F -f common_prefixes.txt "$file1" > ip.txt

# 清理临时文件
rm temp1.txt temp2.txt common_prefixes.txt

2、创建google_ip.txt

nano /root/google_ip.txt
1.0.0.0/24       
1.1.1.0/24       
1.2.3.0/24       
8.7.0.0/16       
8.8.4.0/24       
8.8.8.0/24       
8.8.8.8/32       
8.15.202.0/24    
8.34.208.0/20    
8.35.192.0/20

3、创建chatgpt_ip.txt

nano /root/chatgpt_ip.txt
2.21.89.9/32
2.21.89.11/32
3.88.78.43/32
3.95.117.86/32
3.163.125.4/32
3.163.125.39/32
3.163.125.50/32
3.163.125.117/32
3.163.218.8/32
3.163.218.53/32
3.163.218.101/32
3.163.218.108/32
8.8.8.0/24

4、执行脚本

bash compare_ips.sh

5、查看ip.txt

cat ip.txt

yydy_2023-12-27_13-27-54