gpt4 book ai didi

linux - AWK 根据 B 列的唯一性计算 A 列的出现次数

转载 作者:太空宇宙 更新时间:2023-11-04 11:43:06 25 4
gpt4 key购买 nike

我有一个包含多列的文件,我想根据第一列唯一的第二列值来计算一列的出现次数

例如:

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。我假设制表符是您的字段分隔符。

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 orange      2 blue      1 green      1 gold

我想它可以更优雅。

关于linux - AWK 根据 B 列的唯一性计算 A 列的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58675287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com