在Linux中,可以使用多种命令组合来实现去重并统计个数的功能,以下是一些常见的方法:
一、使用sort
和uniq
命令
sort
命令用于对文本文件中的行进行排序。它按照字节顺序对输入的行进行排序,可以指定不同的排序选项,如按数值排序、按特定字段排序等。uniq
命令用于检查和删除文本文件中连续重复的行。如果输入的行是经过排序的,那么uniq
可以有效地去除所有重复的行。test.txt
的文件,内容如下:test.txt
的文件,内容如下:sort test.txt
对文件内容进行排序,得到:sort test.txt
对文件内容进行排序,得到:uniq
去除连续的重复行,得到:uniq
去除连续的重复行,得到:wc -l
统计行数,结果为3,即不同水果的种类数为3。二、使用awk
命令
awk
是一种编程语言,用于在Linux/Unix下对文本和数据进行处理。它可以按照指定的规则对输入的每一行进行操作,如匹配特定模式、提取字段、计算统计信息等。test.txt
文件,可以使用以下awk
命令统计不同元素的个数:test.txt
文件,可以使用以下awk
命令统计不同元素的个数:awk
命令中的!seen[$0]++
表示如果当前行($0
)还没有被记录在seen
数组中,就执行后面的操作(这里是将该行输出),并且将seen[$0]
的值加1。这样就实现了去重输出,然后再通过wc -l
统计行数。领取专属 10元无门槛券
手把手带您无忧上云