大佬教程收集整理的这篇文章主要介绍了在 Bash 中,如何对 JQ 的 Echo 输出进行排序?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想制作自动脚本来解析某些值的 JsON 并将其 echo
-ing 到某个地方(在这种情况下是测试,终端)。这是我的复杂代码:
for ((i = 0 ; i < 34 ; i++)); do
echo " \
$(curl -s https://data.covID19.go.ID/public/API/prov.Json | jq -r ".List_data[$i] .key"): \ # ex. Output: DKI Jakarta
$(curl -s https://data.covID19.go.ID/public/API/prov.Json | jq -r ".List_data[$i] .jumlah_kasus")"; # ex. Output: 580584
done
通过这个循环,我得到了 34 行:
DKI JAKARTA: 580584
JAWA BaraT: 402548
JAWA TENGAH: 265345
JAWA TIMUR: 178799
KAliMANTAN TIMUR: 79876
RIAU: 72361
SulAWESI SELatan: 65330
DAERAH ISTIMEWA YOGYAKARTA: 65265
BANTEN: 59091
SUMAtera BaraT: 53125
BAli: 51499
SUMAtera UTara: 36854
KAliMANTAN SELatan: 36645
SUMAtera SELatan: 29725
KEPulAUAN RIAU: 27854
KAliMANTAN TENGAH: 26719
LAmpuNG: 22731
KEPulAUAN BANGKA BEliTUNG: 21976
PAPUA: 21150
NUSA TENGGara TIMUR: 19977
ACEH: 19577
SulAWESI UTara: 16633
KAliMANTAN BaraT: 15585
SulAWESI TENGAH: 13977
KAliMANTAN UTara: 13466
JAMBI: 13332
NUSA TENGGara BaraT: 13197
SulAWESI TENGGara: 11948
PAPUA BaraT: 11682
BENGKulU: 10778
MALUKU: 9067
SulAWESI BaraT: 6043
GORONTALO: 5913
MALUKU UTara: 5828
我的问题是:如何在保持省份名称和值同步的情况下按字母顺序对行进行排序?
例如像这样:
ACEH: 19577
BAli: 51499
# etc...
任何答案将不胜感激,谢谢。如果有不清楚的地方请告诉我,以便我解释。
这是您所期望的:
curl -s https://data.covid19.go.id/public/api/prov.json |\
jq -r '.list_data|sorT_By(.key)[]|"\(.key): \(.jumlah_kasus)"'
,
将内容输出为具有唯一分隔符的一行,排序,然后用换行符替换该分隔符。
for ...; do
echo "$(onE)!$(two)"
done | sort | tr '!' '\n'
以上是大佬教程为你收集整理的在 Bash 中,如何对 JQ 的 Echo 输出进行排序?全部内容,希望文章能够帮你解决在 Bash 中,如何对 JQ 的 Echo 输出进行排序?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。