[英]What does the k parameter do in the sort function (Linux Bash Scripting)?
從Linux手冊:通過密鑰排序; KEYDEF給出位置和類型。
我不知道這意味着什么,但我看到它被這樣使用:
cut -f 2 *ptt | tail -n +4 | sort | uniq -c | sort -k1 -rn
再次像這樣:
ls -1 *\.flv | sort -n -k1.2
KEYDEF是起始和停止位置的F [.C] [OPTS] [,F [.C] [OPTS]],其中F是字段編號,C是字段中的字符位置; 兩者都是原點1,停止位置默認為行的結尾。 如果-t和-b都不起作用,則字段中的字符將從前一個空格的開頭計算。 OPTS是一個或多個單字母排序選項[bdfgiMhnRrV],它覆蓋該鍵的全局排序選項。 如果沒有給出密鑰,請使用整行作為密鑰。
輸入文件示例:
123 233
214 176
341 325
排序第一個字段:
sort -t' ' -k1 input
得到:
123 233
214 176
341 325
第二個領域:
sort -t' ' -k2 input
得到:
214 176
123 233
341 325
第一個字段的第二個和第三個數字:
sort -t' ' -k1.2 input
得到:
214 176
123 233
341 325
第二個字段的最后一位:
sort -t' ' -k2.3 input
得到:
123 233
341 325
214 176
用少於手冊頁的單詞:它指定文件排序的“列”。 如果列號包含句點,則超過句點的值將用作字段中的偏移量。 例如, -k1.2
按第一列的第二個字符排序。
列通常由制表符分隔,但您可以使用-t
更改它。 例如, -t,
將使用逗號分隔的列(例如,CSV文件)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.