分析sort命令在linux下的具體應用範圍

 語法:

 
Sort [選項] 文件
 
說明:Sort命令對指定文件中所有的行進行排序,並將結果顯示在標準輸出上。如不指定輸入文件或使用"- ",則表示排序內容來自標準輸入。
 
Sort排序是根據從輸入行抽取的一個或多個關鍵字進行比較來完成的。排序關鍵字定義了用來排序的最小的字符序列。缺省情況下以整行爲關鍵字按ASCII字符順序進行排序。
 
改變缺省設置的選項主要有: 
 
- c 檢查給定文件是否已排好序,如果它們沒有都排好序,則打印一個出錯信息,並以狀態值1退出。
 
- m 若給定文件已排好序,合併文件。
 
- o 輸出文件 將排序輸出寫到輸出文件中而不是標準輸出,如果輸出文件是輸入文件之一,Sort先將該文件的內容寫入一個臨時文件,然後再排序和寫輸出結果。
 
改變缺省排序規則的選項主要有:
 
- d 按字典順序排序,比較時僅字母、數字、空格和製表符有意義。
 
- u 對排序後認爲相同的行只留其中一行。
 
- f 將小寫字母與大寫字母同等對待。
 
- I 忽略非打印字符。
 
- r 按逆序輸出排序結果。
 
- M 作爲月份比較:"JAN"<"FEB"
 
+posl - pos2 指定一個或幾個字段作爲排序關鍵字,字段位置從posl開始,到pos2爲止(包括posl,不包括pos2)。如不指定pos2,則關鍵字爲從posl到行尾。字段和字符的位置從0開始。 
 
- t separator 指定字符separator作爲字段分隔符。
 
- b 在每行中尋找排序關鍵字時忽略前導的空白(空格和製表符)。
 
下面通過幾個例子來講述Sort的使用。
 
用Sort命令對text文件中各行排序後輸出其結果。請注意,在原文件的第二、三行上的第一個單詞完全相同,該命令將從它們的第二個單詞vegetables與fruit的首字符處繼續進行比較。
 
$ Sort text
 
fresh fruit
 
fresh vegetables
 
lowfat milk
 
vegetable soup
 
$ cat text
 
vegetable soup
 
fresh vegetables
 
fresh fruit
 
lowfat milk
 
用戶可以保存排序後的文件內容,或把排序後的文件內容輸出至打印機。下例中用戶把排序後的文件內容保存到名爲result的文件中。
 
$ Sort text>result
 
以第2個字段作爲排序關鍵字對文件example的內容進行排序。
 
$ Sort +1-2 example
 
對於file1和file2文件內容反向排序,結果放在outfile中,利用第2個字段的第一個字符作爲排序關鍵字。
 
$ Sort -r -o outfile +1.0 -1.1 example
 
Sort排序常用於在管道中與其他命令連用,組合完成比較複雜的功能,如利用管道將當前工作目錄中的文件送給Sort進行排序,排序關鍵字是第6個至第8個字段。
 
$ ls - l | Sort +5 - 7
 
$ ps -e -o " comm pid time"|Sort -d //按照command的首字母的字母順序排序
 
Sort命令也可以對標準輸入進行操作。例如,如果您想把幾個文件文本行合併,並對合並後的文本行進行排序,您可以首先用命令cat把多個文件合併,然後用管道操作把合併後的文本行輸入給命令Sort,Sort命令將輸出這些合併及排序後的文本行。在下面的例子中,文件veglist與文件 fruitlist的文本行經過合併與排序後被保存到文件clist中。
 
$ cat veglist fruitlist | Sort > clist
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章