shell 中文件一列中唯一单词的计数

use*_*000 2 bash shell awk

我试图使用 shell 脚本找出文件一列中唯一单词的数量以及单词本身。这就是我正在做的事情。输入文件包含(文件名:gnc.txt,城市名称后换行):

Male,Tyrus,Seattle
Male,Sam,Seattle
Male,Meha,Seattle
Male,John,Seattle
Male,Sam,Beijing
Male,Meha,Paris
Male,Meha,Berlin
Run Code Online (Sandbox Code Playgroud)

第一步,我使用下面的 shell 命令找出了唯一名称的数量,即 4。

awk -F\, '{ if(!a[$2]) cnt++;a[$2]++;next}END{ print cnt }' gnc.txt
Run Code Online (Sandbox Code Playgroud)

下一步我想获取唯一名称的列表:即 Tyrus、Sam、Meha 和 John

有人可以帮助我如何更改上述命令吗?

Tec*_*ext 5

您还可以使用这个:

cut -d',' -f2 file | sort | uniq -c
      1 John
      3 Meha
      2 Sam
      1 Tyrus
Run Code Online (Sandbox Code Playgroud)