ファイル内のフィールドの固有値の計算

ファイル内のフィールドの固有値の計算

百万行のファイルがあります。各行transactionidには、重複した値を持つ名前のフィールドがあります。私がしなければならないことは、それらを明確に数えることだけです。値が何度も繰り返されても、一度だけ計算する必要があります。

答え1

さて、ファイルがカンマ区切り文字「、」で区切られたフィールドを持つテキストファイルであるとしましょう。どのフィールドが'transactionid'どこにあるかがわかります。あなたの'transactionid'フィールドが7番目のフィールドであるとしましょう。

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

これにより、7番目のフィールドで固有/固有の発生回数が計算され、結果が印刷されます。

答え2

最も洗練されたアプローチではないかもしれませんが、次のようにすればうまくいきます。

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

$1解析するフィールドに対応する数字はどこにありますか?

答え3

uniqファイルをソートする必要はありません

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

関連情報