订单字符串数组,格式为BashScript

时间:2016-06-08 07:13:15

标签: bash shell scripting

我有一个格式的字符串数组:“XXXX YYYY ZZZZ WWWW”

我需要按YYYY排序;但如果我使用常见的“排序”,将按XXXXX排序,而不是按YYYY排序。

我尝试将每个元素放入一个diccionary中,使用YYYY作为键;并使用diccionaries的键作为数组,然后对此数组进行排序并获取元素。有人认为另一种格式,“更优雅”?

2 个答案:

答案 0 :(得分:2)

您绝对可以使用sort命令。

来自sort的Linux手册页:

  

NAME          sort - 排序文本文件行

     

概要          排序[选项] ... [文件] ...          sort [OPTION] ... --files0-from = F

     

说明          将所有FILE的排序串联写入标准输出。

     

长期权的强制性参数对于空头期权是强制性的          太

     

-k, - key = KEYDEF                 通过钥匙排序; KEYDEF给出位置和类型

所以你可以这样做:

sort -k2

如果默认的分隔符是空格,它将根据第二个键对输入进行排序。

答案 1 :(得分:1)

sort命令与-k 2一起使用,以便对第二个字段执行操作。