grepを使用して単語境界を持つ一意の識別子を計算する

grepを使用して単語境界を持つ一意の識別子を計算する

数百万行を含む次の形式のファイルがあります。

KABC XXX 111 222
KDEF XXX 123 456
KGHI XXX 567 890
KABC XXX 124 267
KDEF XXX 190 478
KGHI XXX 095 609
KABC XXX 001 902
KDEF XXX 013 986
KGHI XXX 792 001

など

より多くの行がありますが、これは単純さのためです。一意の識別子のみを印刷する方法は?例えば

KABC
KDEF
KGHI

答え1

cut -d' ' -f1 /path/to/file | sort -u

または

awk '! data[$1] { print $1; data[$1]="seen" }' /path/to/file

答え2

perl -lane '$h{$F[0]}++ or print $F[0]' yourfile

答え3

awk cmd と sort コマンドの使用

cat file | awk '{print $1}' | sort | uniq -c | sort -n

関連情報