文章说明:本篇介绍使用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