我有一个包含一百万行的文件。每行都有一个名为 的字段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