程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在 Bash 中,如何对 JQ 的 Echo 输出进行排序?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在 Bash 中,如何对 JQ 的 Echo 输出进行排序??

开发过程中遇到在 Bash 中,如何对 JQ 的 Echo 输出进行排序?的问题如何解决?下面主要结合日常开发的经验,给出你关于在 Bash 中,如何对 JQ 的 Echo 输出进行排序?的解决方法建议,希望对你解决在 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,请注明来意。