我有一个包含多个列的文件,我想根据第一列唯一的第二列值来计算一列的出现次数
前任:
column 10 column 15
orange New York
green New York
blue New York
gold New York
orange Amsterdam
blue New York
green New York
orange Sweden
blue Tokyo
gold New York
我对使用awk之类的命令还比较陌生,希望获得更多实用知识。
我试过一些不同的
awk '{A[$10 OFS $15]++} END {for (k in A) print k, A[k]}' myfile
但是,由于不太理解代码,输出结果不是我所期望的。
我期望输出
orange 3
blue 2
green 1
gold 1
最佳答案
带着GNU awk。我认为tab是字段分隔符。
awk '{count[$10 FS $15]++}END{for(j in count) print j}' FS='\t' file | cut -d $'\t' -f 1 | sort | uniq -c | sort -nr
输出:
3橙色
2蓝色
1绿色
1黄金
我想应该更优雅些。