gpt4 book ai didi

arrays - 在 awk 中对哈希/数组进行排序

转载 作者:行者123 更新时间:2023-12-04 07:12:24 28 4
gpt4 key购买 nike

有没有一种简单的方法可以在 awk 中执行以下任何操作?

  • 按数据对数组/哈希进行排序
  • 按字符串键对哈希排序
  • 最佳答案

    这是其他人对非常相似问题的回答:
    http://www.computing.net/answers/unix/urgent-help-with-sorting-in-awk/4442.html

    这应该是这样的:

    gawk 'BEGIN {c=1} { array[c] = sprintf ("%s %s", $2, $1); c++ } 
    END { asort(array); for (x=1;x<c;x++) { print array[x] } }'

    请注意,我使用了“gawk”。如果您想要内置排序,请使用 gawk。

    该示例采用键值对的“空格分隔”输入,并根据第二个值对它们进行排序(当然它以值/键格式将它们打印出来,但您会看到我在那里做什么。)

    为了对 gawk 中现存的数组执行此操作,您可以使用类似的方法。

    如果使用 awk 或 mawk,则必须使用手册页中提供的众多排序功能之一来完成排序。

    From the gawk manpage: All arrays in AWK are associative, i.e. indexed by string values. The special operator in may be used in an if or while statement to see if an array has an index consisting of a particular value. if (val in array) print array[val] If the array has multiple subscripts, use (i, j) in array.

    关于arrays - 在 awk 中对哈希/数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/106484/

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