我是bash脚本的新手......我试图将数组中的唯一值排序并存储到另一个数组中。 例如:
list=('a','b','b','b','c','c');
我需要,
unique_sorted_list=('b','c','a')
我尝试了几件事,没有帮助我......
sorted_ids=($(for v in "${ids[@]}"; do echo "$v";done| sort| uniq| xargs))
或
sorted_ids=$(echo "${ids[@]}" | tr ' ' '\n' | sort -u | tr '\n' ' ')
你能帮助我吗....
答案 0 :(得分:1)
尝试:
$ list=(a b b b c c)
$ unique_sorted_list=($(printf "%s\n" "${list[@]}" | sort -u))
$ echo "${unique_sorted_list[@]}"
a b c
$ uniq=($(printf "%s\n" "${list[@]}" | sort | uniq -c | sort -rnk1 | awk '{ print $2 }'))