簡體   English   中英

根據 bash 中給出的鍵進行排序

[英]Sorting based on key given in bash

所以我試圖對一個文本文件進行排序,稱之為tmp ,它包含 4 行。

第一行是:

table-name grade1 grade2 grade3
Richard 100 99 99
Fred 20 100 60
Alex 57 67 75

並根據成績進行分類,如果給出的話,或者默認是他們的名字。 如果他們提示輸入-n-r它也應該在數字上反轉和 label。

$sort是他們想要排序的字段。

到目前為止,我嘗試過的是sort -k"$sort" -nr "$file"的變體,但即使我要求它對grade3進行排序,它也只會對grade1進行排序。

使用$sort作為對$file進行排序的列號,請執行以下操作:

sort -nr -t' ' -k${sort},${sort} "${file}"

這是您發布的 3 行的概念證明:

$ cat testfile 
Richard 100 99 99
Fred 20 100 60
Alex 57 67 75
$ 

$ sort -nr -t' ' -k3,3 testfile 
Fred 20 100 60
Richard 100 99 99
Alex 57 67 75
$ 

$ sort -nr -t' ' -k4,4 testfile 
Richard 100 99 99
Alex 57 67 75
Fred 20 100 60
$

我希望它有所幫助。

暫無
暫無

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

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