提示信息

linux 对文件中的内容去重

仅此 已关注

在 Linux 中,可以使用 sortuniq 命令组合来对文件中的内容进行去重。以下是一个简单的用法示例:

  1. sort filename.txt | uniq > unique_filename.txt

这里是命令的分解:

  1. sort filename.txt:这个命令将文件 filename.txt 中的内容按行排序。排序步骤是必要的,因为 uniq 命令只能去除相邻重复的行。

  2. uniq:这个命令会去除连续重复的行。在通过 sort 命令排序后,重复的行就变得相邻,因此 uniq 能够有效去重。

  3. > unique_filename.txt:将去重后的内容输出到 unique_filename.txt 文件中。如果你想要在原文件中去重,可以把输出重定向回原文件(filename.txt),但请小心操作,因为这会覆盖原文件的数据:

  1. sort filename.txt | uniq > temp && mv temp filename.txt

这样可以确保你不会意外地丢失原文件的数据。

如果文件中需要保留原始顺序,但只是进行去重,你可以用下面这种方式:

  1. awk '!seen[$0]++' filename.txt > unique_filename.txt

这个命令使用 awk 来检查每一行是否已经遇到过,并且只输出第一次出现的行。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
仅此 关注 已关注

最近一次登录:2024-11-20 17:36:51   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图