一、sort命令說明
1.sort命令將許多不同的域按不同的列順序分類。sort命令的操作可以分爲3種模式:
a) 排序模式:對輸入文件進行排序,是默認的模式。
b) 合併模式:對兩個已排序的文件進行合併。需要指定“-m”選項。
c) 檢查模式:測試給定的輸入文件是否已排序。需要指定“-c”選項。
2.sort命令的一般格式爲:
sort –cmu –o output_file [other options] +pos1 +pos2 input_files
sort有許多不同的選項,這些選項基本可以分爲三類:
a) sort的操作模式選項:就是用於指定sort工作模式的選項,只有“-c”和“-m”兩個。
b)sort的數據排序選項:這些選項將影響輸出行的排列序列,可以是針對整體或特殊鍵值字段設定的。
c) sort的字段設定與輸出選項:與輸出和字段有關的選項。
二、sort選項介紹
1. sort的常用數據排序選項
-n:當指定位置上是數字字符時,需按數值排序,而不是逐字符比較
-b:忽略前置空白
-r:逆序輸出
-d:在排序時忽略所有除英文字母、數字及空白之外的字符。
-f:在排序時將字母大小寫視爲相同
-i:在排序時忽略超過ASCII可打印範圍的字符
-M:對錶示月份的三個大寫字母進行比較
2.sort的常用字段設定與輸出選項
如果沒有使用任何字段設定選項,sort默認對證行的內容作排序。如果希望針對行中某一特定的字段內容作排序,就必須知道如何指定字段的分隔符以及指定適當的排序字段。
-o FILE:指定排序結果的輸出文件,輸出文件可以是輸入文件之一。
eg:sort –o video.txt video.txt //把video.txt的排序結果寫入video.txt
-t 分隔符:設定字段分隔符,如果省略此選項,則爲空格或tab
-u:檢查指定域的唯一性(不重複)(檢查排序模式),或去除域重複的行(排序、合併模式)
-k pos1[,pos2]:把pos1到pos2之間的內容當成一個字段來進行排序(域號從1開始)
如果省略pos2,表示從pos1到行尾
-k選項的pos可以是“F[.C]”格式,即F指示使用第幾個字段,C指示從字段開頭算起第幾個字符。
eg:sort –t: -k2,3n video.txt //從第二個字段的第三個字符開始排序
3.sort用於合併2個排序文件(將文件合併前,均需已被排序)
sort –m [-o 輸出文件] [選項] file1 file2
sort默認使用第一個字段來進行合併排序。
eg: sort -t: -m -o out video2.txt video.txt --將兩個排序好的內容合併都out文件中去