`

Linux下大文件的排序和去重复

阅读更多

Linux下我们用 sortuniq 的命令来实现去重复行。


去重复行

简单的用法如下,如一个文件名:happybirthday.txt

cat happybirthday.txt (显示文件内容)

Happy Birthday to You!
Happy Birthday to You!
Happy Birthday Dear Tux!
Happy Birthday to You!

cat happybirthday.txt|sort (排序)

Happy Birthday Dear Tux!
Happy Birthday to You!
Happy Birthday to You!
Happy Birthday to You!

cat happybirthday.txt|sort|uniq (去重复行)

Happy Birthday Dear Tux!
Happy Birthday to You!

 


去大文件重复行

但有时碰到一个大文件时(例如G级的文件),用上面的命令时报错,提示空间不足。我尝试了一下,最后是用 split 命令把大文件分割为几个小文件,单独排完序后再合并 uniq 。

split -b 200m  happybirthday.big Prefix_

用-b参数切割happybirthday.big,小文件为200M。切割后的文件名前缀是Prefix_

切割后的文件名如

Prefix_aa

Prefix_ab

再分别sort

sort Prefix_aa >Prefix_aa.sort

sort Prefix_ab >Prefix_ab.sort

再用 sort -m合并,再 uniq

cat Prefix_aa.sort Prefix_ab.sort |sort -m |uniq

这是好早前碰到的一个问题了。没记错的话应该是这么回事。~

sort 与 uniq 命令还有许多有用的参数,如sort -m、uniq -u、uniq -d等。sort 与 uniq的组合是很强大的。

~完。

分享到:
评论

相关推荐

    linux下查找重复文件

    总结一下,在Linux下查找重复文件,我们可以利用`find`、`md5sum`、`sort`和`uniq`等基本命令,形成一个无网络环境下的解决方案。这个方法不仅适用于日常使用,还能够帮助理解Linux命令行的基本用法和它们的组合能力...

    Linux下面的排序

    在Linux操作系统中,排序是日常命令行操作中的重要一环,尤其对于程序员和系统管理员来说,熟练掌握排序命令能够极大地提高工作效率。Linux提供了强大的命令行工具`sort`来进行文本数据的排序,它不仅可以对简单的...

    linux下执行.sh文件的方法和语法

    Linux 下执行 .sh 文件的方法和语法 Linux 下执行 .sh 文件的方法和语法是 Linux 环境下 shell 使用的重要方面。下面将详细介绍 Linux 下执行 .sh 文件的方法和语法。 执行 .sh 文件的方法 在 Linux 下执行 .sh ...

    linuxshell删除重复文件只保留一份.docx

    Linux Shell 删除重复文件保留一份,这意味着我们将使用 Shellscript 来查找和删除重复文件,仅保留一个样本。 描述解释 这个 Shellscript 的目的是查找并删除重复文件,每个文件只保留一个样本。为了实现这个目标...

    文本文件去除重复记录

    本篇文章将详细讲解如何有效地实现文本文件中的重复记录去除,以达到优化数据和提高工作效率的目标。 首先,我们要理解什么是重复记录。在文本文件中,如果某一行数据与其他行的数据完全相同,我们便称其为重复记录...

    重复文件查找,自动比对

    本文将深入探讨“重复文件查找,自动比对”这一主题,旨在帮助用户理解如何高效地管理和优化存储空间。 重复文件查找工具,如压缩包中的“DupFileFinder.exe”,是专门设计用来检测和定位硬盘上相同内容但文件名...

    深入理解Linux,深入理解Linux

    - **理解文件系统**:掌握Linux文件系统的结构和权限管理对于日常操作至关重要。 - **编写脚本**:学习如何编写Shell脚本来自动化重复的任务。 - **系统管理**:学习如何配置网络、用户账户管理、服务管理等。 - **...

    linux下uniq和sort命令用法详解.docx

    在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如果输入文件用"- "表示,则从标准输入读取。 uniq ...

    巧用Linux命令完成统计排序功能.docx

    通过简单的命令组合,就能高效地处理大量数据,实现复杂的数据统计和排序任务,体现了Linux简洁、高效的工作哲学。这种组合命令的方式不仅适用于这个特定问题,还可以应用于许多其他的数据处理场景,是Linux系统的一...

    linux文件管理 .pdf

    1. inode是Linux文件系统中用于记录文件属性和位置信息的数据结构,它不包含文件名,文件名和inode号一起存储在目录项中。 2. 在文件系统中,每个文件和目录都有自己的inode,里面存储了文件类型、权限、大小、...

    文本文件,删除重复行

    标签"去重 重复行 删除重复 文件去重 过滤重复"进一步强调了程序的主要功能,即通过过滤和删除重复行来清理文本文件。这些标签可以方便用户根据自己的需求搜索和找到这个程序。 至于压缩包子文件的文件名称列表中的...

    linux下uniq和sort命令用法.docx

    在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。 uniq 命令的选项含义如下: * -c 显示输出中,在每行行首加上本行在文件中出现的...

    Linux系统文件命令精通指南(下)

    【Linux系统文件命令精通指南(下)】 在深入探讨Linux系统命令之前,让我们先回顾一下在"Linux 文件命令精通指南(上)"中所学的基础知识。Linux系统中,一切皆为文件,包括硬件设备、网络接口等。这使得通过命令行...

    Linux字符处理基础

    总结来说,Linux字符处理基础知识点涵盖了管道的使用、grep搜索工具的使用、文本排序的方法、去除重复内容的命令、文本截取技巧以及文本转换、合并和分割的工具。掌握了这些基础操作,能够在shell环境下进行高效的...

    去txt重复行

    下面我们将详细介绍如何去txt重复行,并探讨相关工具和方法。 首先,我们可以手动编写Python脚本来实现这个功能。Python是一种强大的编程语言,特别适合处理文本数据。以下是一个简单的示例,展示了如何使用Python...

    linux之sort

    Linux 之 sort 命令是 Linux 中一个非常有用的命令,用于对文本文件中的数据进行排序。sort 命令可以根据不同的数据类型进行排序,例如按照字母顺序、数字顺序、日期顺序等。 sort 命令的语法格式为:sort [-...

    4-3命令二-文件查找和排序命令.pdf

    在Linux系统中,文件查找和排序是日常管理和维护工作中的常见任务。其中,查找命令和排序命令是两个重要的组成部分,它们的合理运用对于提高工作效率至关重要。 首先,查找文件是Linux中一个非常频繁的操作。常用的...

    LINUX处理文本命令

    文件排序, 通常用在管道中当过滤器来使用. 这个命令可以依据指定的关键字或指定的字符位置, 对文件行进行排序. 使用-m选项, 它将会合并预排序的输入文件. 想了解这个命令的全部参数请参考这个命令的info页. 二. ...

Global site tag (gtag.js) - Google Analytics