51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

【Liunx-脚本】用bash命令查找重复数据

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

yydy_2023-12-27_13-27-54

赞(2)
未经允许不得转载:工具盒子 » 【Liunx-脚本】用bash命令查找重复数据