【问题标题】:Sorting an array and saving its output in variable对数组进行排序并将其输出保存在变量中
【发布时间】:2022-11-22 21:43:23
【问题描述】:

我有一个数组 array = (Testcase_5_Input_Packets Testcase_3_Input_Packets Testcase_1_Input_Packets Testcase_4_Input_Packets Testcase_2_Input_Packets)

i want to sort its elements and save its sorted contents in an array to be like:
array = Testcase_1_Input_Packets
        Testcase_2_Input_Packets
        Testcase_3_Input_Packets
        Testcase_4_Input_Packets
        Testcase_5_Input_Packets

How do i do that in bash ?

【问题讨论】:

  • 与 zsh 不同,bash 没有排序数组的功能。如果您想坚持使用 bash,我认为您必须将数组写入文件并调用 sort,然后根据 sort 的输出重新创建数组。但是,如果数组中的元素包含换行符,这将失败;它们在您的具体示例中没有,但是您需要确保您正在处理的真实数据不是这种情况。

标签: arrays bash sorting


【解决方案1】:

试用:

array='Testcase_1_Input_Packets
         Testcase_2_Input_Packets
         Testcase_3_Input_Packets
         Testcase_4_Input_Packets
         Testcase_5_Input_Packets'
array=$(echo $my_list | xargs -n1 | sort | xargs)
echo "sorted array $my_list"

【讨论】:

    猜你喜欢
    • 2021-05-20
    • 2022-11-20
    • 1970-01-01
    • 1970-01-01
    • 2018-06-21
    • 2014-03-30
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多