awk + 如何计算第一个字段中的单词

耶尔

我在rhel 7.2机器上有如下文件

more file.txt


car12
car55
car87
car12
car98
car55
car12
car12
car55
car65
car12
car65

我们想将文件中的单词与数量相加作为以下预期结果

car12 - 5
car55 - 3
car87 - 1
car98 - 1
car65 - 2

如何用awk将上述单词与其数量相加?

大学教师

你真的不需要 awk,你可以简单地做:

$ sort file | uniq -c
      5 car12
      3 car55
      2 car65
      1 car87
      1 car98

但是,是的,在 awk 中也有可能:

$ awk '{a[$1]++}END{for(word in a){print word" - "a[word]}}' file 
car55 - 3
car65 - 2
car87 - 1
car12 - 5
car98 - 1

使用GNU awk ( gawk),人们甚至可以使用一些关于如何遍历数组以及扩展如何打印数组的预定义排序如果您使用PROCINFO["sorted_in"]="@ind_str_asc",这将导致按从最常看到到最少看到的顺序打印结果:

$ awk '{a[$1]++} 
       END { 
        PROCINFO["sorted_in"]="@ind_str_asc";
        for(word in a){print word" - "a[word]}
       }' file
car12 - 5
car55 - 3
car65 - 2
car87 - 1
car98 - 1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当字段分隔符也是 a 时,如何用 awk 替换第一个字段中的 a ,

来自分类Dev

将AWK中的第一个字段用作文件名

来自分类Dev

将AWK中的第一个字段用作文件名

来自分类Dev

如何使用awk在输出的第一个字段中添加字符串?

来自分类Dev

为什么awk split()使第一个字段成为数组中的最后一个元素?

来自分类Dev

AWK:如何根据一个字段中的单词数选择行?

来自分类Dev

awk比较两个文件并在文件1中打印第一个字段

来自分类Dev

awk:将列标题转置到行的第一个字段

来自分类Dev

找到第二个字段的差异,使用第一个字段报告(awk)

来自分类Dev

如何在awk中提取行的第一个字母字符的索引

来自分类Dev

为什么awk中的split(string,regex)使用最后一个字段在第一个位置?

来自分类Dev

在第一个字段中用awk替换字符串的一部分

来自分类Dev

Sed / Awk脚本可根据第一个字符打印字段

来自分类Dev

awk NR 变量未按预期工作,在请求第一个字段时获取整行

来自分类Dev

如何在多个文件上使用 awk(每个文件的第一个字段)并获取每个输入文件的结果

来自分类Dev

如果第一个字段多次出现,则用awk逗号分隔第二个字段

来自分类Dev

如何使用awk打印特定列中字符串的第一个单词

来自分类Dev

在删除awk中的最后一个字段时,如何保留前导空格?

来自分类Dev

为什么awk删除第一个字符?

来自分类Dev

使用awk测试第一个字符是否为数字

来自分类Dev

如何计算第一个字段

来自分类Dev

仅当第一个字段以字符串开头为Linux1时,awk +打印行

来自分类Dev

如何使用 awk(或 cut)从管道分隔文件中打印每行的最后一个字段?

来自分类Dev

awk:匹配一个字段,直到另一个字段

来自分类Dev

如何基于AWK / UNIX中的通用字段将行中的分隔字段合并为一个字段

来自分类Dev

awk - 从基于另一个字段的字段添加值

来自分类Dev

AWK:如何在有数字的行上减去最后一个字段

来自分类Dev

使用 awk 或 sed 将管道分隔值拆分为新行,保持第一个字符串相同

来自分类Dev

使用sed或awk用第一个单词替换空格

Related 相关文章

  1. 1

    当字段分隔符也是 a 时,如何用 awk 替换第一个字段中的 a ,

  2. 2

    将AWK中的第一个字段用作文件名

  3. 3

    将AWK中的第一个字段用作文件名

  4. 4

    如何使用awk在输出的第一个字段中添加字符串?

  5. 5

    为什么awk split()使第一个字段成为数组中的最后一个元素?

  6. 6

    AWK:如何根据一个字段中的单词数选择行?

  7. 7

    awk比较两个文件并在文件1中打印第一个字段

  8. 8

    awk:将列标题转置到行的第一个字段

  9. 9

    找到第二个字段的差异,使用第一个字段报告(awk)

  10. 10

    如何在awk中提取行的第一个字母字符的索引

  11. 11

    为什么awk中的split(string,regex)使用最后一个字段在第一个位置?

  12. 12

    在第一个字段中用awk替换字符串的一部分

  13. 13

    Sed / Awk脚本可根据第一个字符打印字段

  14. 14

    awk NR 变量未按预期工作,在请求第一个字段时获取整行

  15. 15

    如何在多个文件上使用 awk(每个文件的第一个字段)并获取每个输入文件的结果

  16. 16

    如果第一个字段多次出现,则用awk逗号分隔第二个字段

  17. 17

    如何使用awk打印特定列中字符串的第一个单词

  18. 18

    在删除awk中的最后一个字段时,如何保留前导空格?

  19. 19

    为什么awk删除第一个字符?

  20. 20

    使用awk测试第一个字符是否为数字

  21. 21

    如何计算第一个字段

  22. 22

    仅当第一个字段以字符串开头为Linux1时,awk +打印行

  23. 23

    如何使用 awk(或 cut)从管道分隔文件中打印每行的最后一个字段?

  24. 24

    awk:匹配一个字段,直到另一个字段

  25. 25

    如何基于AWK / UNIX中的通用字段将行中的分隔字段合并为一个字段

  26. 26

    awk - 从基于另一个字段的字段添加值

  27. 27

    AWK:如何在有数字的行上减去最后一个字段

  28. 28

    使用 awk 或 sed 将管道分隔值拆分为新行,保持第一个字符串相同

  29. 29

    使用sed或awk用第一个单词替换空格

热门标签

归档