如何计算 bash 和列表中的唯一字符串

How to count unique strings in bash and list

我有一个 csv 文件,我如何计算给定字段(字段 #2)的唯一字符串,然后列出所有唯一字符串及其旁边的频率 bash脚本?

理想情况下,我希望打印出第二个字段中出现的所有唯一字符串,以及它们出现的次数 bash?

如果您有一个非常简单的 CSV:

awk -F, '{a[]++}END{for(i in a)print i": "a[i]}' < file

由于我所知道的没有标准的 Unix 工具可以正确读取 CSV,对于更复杂的 CSV 文件,您需要更高级的编程语言:

ruby -rcsv -e 'a = Hash.new(0); STDIN.each_line { |l| a[CSV.parse(l)[0][1]] += 1 }; a.each { |k, v| puts "#{k}: #{v}" }' < file