计算文件中字段的不同值

计算文件中字段的不同值

我有一个包含一百万行的文件。每行都有一个名为 的字段transactionid,该字段具有重复值。我需要做的就是清楚地数一下它们。无论一个值重复多少次,它都应该只计算一次。

答案1

好的,假设您的文件是文本文件,字段之间用逗号分隔符“,”分隔。您还会知道哪个字段'transactionid'的位置。假设你的'transactionid'字段是第七字段。

awk -F ',' '{print $7}' text_file | sort | uniq -c

这将计算第七个字段中不同/唯一的出现次数并打印结果。

答案2

也许不是最时尚的方法,但这应该有效:

awk '{print $1}' your_file | sort | uniq | wc -l

其中$1是要解析的字段对应的数字。

答案3

不需要对文件进行排序..(uniq需要对文件进行排序)
此 awk 脚本假定该字段是第一个空白分隔字段。

awk 'a[$1] == "" { a[$1]="X" } END { print length(a) }' file 

相关内容