如何对“python 字典式”数组进行排序 例如( "A: 2""B: 3""C: 1")
在 bash 中的值?我认为,此代码片段将使我的问题更加清楚。
State="Total 4 0 1 1 2 0 0"
W=$(echo $State | awk '{print $3}')
C=$(echo $State | awk '{print $4}')
U=$(echo $State | awk '{print $5}')
M=$(echo $State | awk '{print $6}')
WCUM=( "Owner: $W;" "Claimed: $C;" "Unclaimed: $U;" "Matched: $M" )
echo ${WCUM[@]}
这将简单地打印数组:Owner: 0;声称:1;无人认领:1;匹配:2
如何对数组(或输出)进行排序,消除任何具有“0”值的对,以便结果如下:
Matched: 2; Claimed: 1; Unclaimed: 1
在此先感谢您的帮助或建议。干杯!
最佳答案
快速而肮脏的想法是(这只是对输出进行排序,而不是对数组进行排序):
echo ${WCUM[@]} | sed -e 's/; /;\n/g' | awk -F: '!/ 0;?/ {print $0}' | sort -t: -k 2 -r | xargs
关于linux - 在 bash 中对 "key/value pair"数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10764732/