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"
结果
本文来自博客园,作者:Lz_蚂蚱,转载请注明原文链接:https://www.cnblogs.com/leizia/p/18038689
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2022-02-27 2.线程安全问题