linux去重统计个数命令
linux去重统计个数命令详细介绍
在 Linux 里,有不少命令能够实现去重并统计个数的功能,下面为你介绍几种常用的方法:
1. 使用
sort 和
uniq -c
sort 命令可对文本进行排序,uniq -c 能对相邻的重复行进行合并并统计重复次数。
示例命令:
bash
your_file.txt
解释:
sort your_file.txt:对your_file.txt文件中的内容进行排序。uniq -c:对排序后的相邻重复行进行合并,同时在每行开头显示重复的次数。
2. 使用
awk
awk 是一种功能强大的文本处理工具,能够实现去重并统计个数。
示例命令:
bash
your_file.txt
解释:
count[$0]++:以整行内容作为数组count的索引,每遇到一行,对应索引的值就加 1。END {for (line in count) print count[line], line}:在处理完所有行之后,遍历数组count,打印出每个索引对应的计数值和行内容。
3. 使用
perl
perl 也是一个强大的文本处理工具,可实现去重并统计个数。
示例命令:
bash
perl your_file.txt
解释:
-ne:逐行读取输入文件,对每行执行指定的代码块。chomp:去除每行末尾的换行符。$count{$_}++:以当前行内容作为哈希表%count的键,每遇到一行,对应键的值就加 1。END {foreach (sort keys %count) {print "$count{$_} $_\n"}}:在处理完所有行之后,遍历哈希表%count,打印出每个键对应的计数值和键内容。
请把 your_file.txt 替换成你实际要处理的文件名。