文章说明:本篇介绍使用Linux的bash命令筛选俩个txt文本文档重复项,如果IP地址很多的情况,可以帮我们快速去重。
1、脚本命令 {#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 {#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 {#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、执行脚本 {#4-执行脚本}
bash compare_ips.sh
5、查看ip.txt {#5-查看ip-txt}
cat ip.txt