Shell去除文件中重复的行

需求

一个a.txt文件中有很多ip和端口,在去重的同时,将每行中的多个空格替换为一个空格,输出文件中将保留后面出现的相同行,并且多个空格被替换为一个空格。

脚本实现

#!/bin/bash
# 设置输入文件和输出文件路径
input_file="a.txt"
output_file="unique_a.txt"
# 删除已存在的输出文件
rm -f "$output_file"
# 使用awk进行处理,替换多个空格为一个空格
awk '{ gsub(/[[:space:]]+/, " "); seen[$0]=$0 } END { for (i in seen) print seen[i] }' "$input_file" > "$output_file"
echo "去重完成,结果保存在 $output_file"

结果

posted @   Lz_蚂蚱  阅读(147)  评论(0编辑  收藏  举报
历史上的今天:
2022-02-27 2.线程安全问题
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起