簡體   English   中英

k參數在sort函數中做了什么(Linux Bash Scripting)?

[英]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.

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