使用 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

ETC

还有更多行,但这只是为了简单起见。如何只打印唯一标识符?例如

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

相关内容