簡體   English   中英

如何按編號訂購desc或asc特定列

[英]How to order desc or asc specific column by number

想要通過編號desc或asc訂購“usedsize”列。

輸入:

{"name":"db1","tablespace":"TEMP","size":"1000","maxsize":"65536","usedsize":"21","status":0.03},
{"name":"db1","tablespace":"DAT","size":"360612","maxsize":"475680","usedsize":"360321","status":75.75},
{"name":"db1","tablespace":"CUNBDAT","size":"23800","maxsize":"131072","usedsize":"23694","status":18.08},

我嘗試使用分隔符和coulmn行,但似乎有些錯誤:

sort -t: -k10

預期觀點:

{"name":"db1","tablespace":"DAT","size":"360612","maxsize":"475680","usedsize":"360321","status":75.75},
{"name":"db1","tablespace":"CUNBDAT","size":"23800","maxsize":"131072","usedsize":"23694","status":18.08},
{"name":"db1","tablespace":"TEMP","size":"1000","maxsize":"65536","usedsize":"21","status":0.03},

它不是第10列而是第6列:

$ sort -t: -k6 file
{"name":"db1","tablespace":"TEMP","size":"1000","maxsize":"65536","usedsize":"21","status":0.03},
{"name":"db1","tablespace":"CUNBDAT","size":"23800","maxsize":"131072","usedsize":"23694","status":18.08},
{"name":"db1","tablespace":"DAT","size":"360612","maxsize":"475680","usedsize":"360321","status":75.75}

你可以說

sort -t, -k5,5r filename

如果您按下輸入以使其成為有效的JSON,您可以像這樣使用perl:

perl -MJSON -00 -le '
    $data = decode_json(<>);
    print encode_json([sort {$b->{usedsize} <=> $a->{usedsize}} @$data]);
' <<END
[
{"name":"db1","tablespace":"TEMP","size":"1000","maxsize":"65536","usedsize":"21","status":0.03},
{"name":"db1","tablespace":"DAT","size":"360612","maxsize":"475680","usedsize":"360321","status":75.75},
{"name":"db1","tablespace":"CUNBDAT","size":"23800","maxsize":"131072","usedsize":"23694","status":18.08}
]
END

[{ “狀態”:75.75, “姓名”: “DB1”, “usedsize”: “360321”, “MAXSIZE”: “475680”, “大小”: “360612”, “表”: “DAT”},{ “狀態”:18.08, “名”: “DB1”, “usedsize”: “23694”, “最大范圍”: “131072”, “大小”: “23800”, “表”: “CUNBDAT”},{“狀態“:0.03,” 姓名 “:” DB1" , “usedsize”: “21”, “MAXSIZE”: “65536”, “大小”: “1000”, “表”: “TEMP”}]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM