sort 命令是用於按特定順序對內容進行排序的核心 GNU 實用程序之一。您可以按多種方式對內容進行排序,包括按字母、數字、月份和倒序排列。以下是有關 sort 命令的一些要點:
- 數字在字母之前
- 對於每個字母,首先對小寫進行排序。
- 默認情況下,空格用作字段分隔符。也可以使用其他字段分隔符。
本文介紹了 Linux 中 sort 命令的基本用法和一些常用選項。測試所有命令 Ubuntu 20.04 LTS但是,相同的命令也適用於其他 Linux 發行版。
排序命令的語法是:
$ sort [OPTION]... [FILE]...
sort 命令的基本用法
使用不帶任何命令行選項的 sort 命令按字母順序對指定文件的內容進行排序。
下面是我們的 樣本1.txt 以文件為例。
對內容進行排序 樣本1.txt 對於文件,命令如下所示:
$ sort sample1.txt
以下是上述命令的輸出:內容按字母順序顯示。
如果文件同時包含字母和數字,排序命令會將數字排在字母之前。下面是一個包含數字和字母的示例文件。
這是上述文件的排序輸出:您可以看到數字在字母之前。
排序命令選項
sort 命令有許多擴展其用途的選項。讓我們來看看其中的一些選項以及如何使用它們。
倒序排列
要以相反的順序對文件的內容進行排序,請使用 -r 選項。例如,這裡是我想按字母倒序排序的示例文件的內容:
要以相反的順序對該文件的內容進行排序,請使用: -r 選項是:
$ sort -r sample1.txt
按編號排序
要對數據進行數字排序,請使用 -n 排序命令選項。如果您的文件包含數字,並且您希望從最小數字到最大數字或從最大數字到最小數字對它們進行排序,則此選項很有用。請注意,默認排序認為 113 小於 2。
下面是示例文件中默認排序的示例。請注意,默認排序基於第一個數字。如果第一個數字相同,則按照第二個數字排序。 113 小於 13 和 2,如下例所示。
要按數字(從小到大)對上述內容進行排序,請使用: -n 選項是:
$ sort -n sample2.txt
按月排序
默認排序命令按字母順序對文件內容進行排序。如果您的文件包含月份名稱列表,您可以使用 -M 命令。例如,下面是一個包含月份名稱的示例文件。
要按月對上述文件的內容進行排序,請使用 -M 選項是:
$ sort -M sample3.txt
按列號排序
默認情況下,sort 命令根據第一列的第一個字母開始對內容進行排序。
例如,下面的示例文件有兩列:水果名稱及其各自的價格。使用默認排序將根據第一列(包含水果名稱)進行排序。
要按照第二列(價格)對上述文件的內容進行排序,我們需要使用-k命令如下:
$ sort -k2 -n sample1.txt
其中 -k2 告訴排序命令對第二列進行排序,-n 用於數字排序。
上述命令根據價格(從最低到最高)對內容進行排序。
使用不同的字段分隔符
默認情況下,sort 命令使用空格作為字段分隔符。要使用非空白字段分隔符,請使用 -t 選項。下面是我想根據第二列排序的文件示例( 逗號)。
根據第二列對上述文件進行排序的命令是:
$ sort -k2 -n -t “,” sample1.txt
其中-k2 告訴排序命令對第二列進行排序,-n 進行數字排序,-t 指定字段分隔符。
排序和刪除重複項
這個 -u sort 命令的選項還可以刪除重複項並對內容進行排序。以下是具有重複值的示例文件。
要按字母順序對該文件進行排序並同時刪除重複值,命令將是:
$ sort -u sample1.txt
這是已刪除重複項的已排序文件的輸出。
檢查排序輸入
利用 -C 您可以使用 sort 命令選項檢查文件之前是否已排序。如果文件之前已排序,則不會顯示任何輸出。但是,如果文件未排序,您將看到亂序行。
這是一個示例文件:
要檢查此文件是否已排序,請使用 -C 選項是:
$ sort -c sample.txt
沒有顯示輸出,因為示例文件已經排序。
保存文件的排序輸出
sort 命令僅在終端上顯示排序後的輸出,它不會保存它。要將排序後的輸出保存到另一個文件,請使用重定向運算符。例如,保存排序後的輸出 文件.txt 在一個名為的新文件中 排序文件.txt,使用以下命令:
$ sort file.txt > sortedfile.txt
使用管道選項重新排序命令
其他命令可以通過將它們的輸出傳遞給 sort 命令進行排序。例如,我想按大小對主目錄中的文件/目錄列表進行排序。為此,請使用 ls 命令,將其輸出通過管道傳輸,然後重新排序命令,如下所示:
$ ls -l /home/kbuzdar/ | sort -nk5
以下是上述命令的輸出:在這裡您可以看到文件按大小排序。
在本文中,我們介紹了 Linux 中 sort 命令的基本語法和用法。它還描述了擴展功能的常用選項。要獲得幫助並了解有關排序選項的更多信息,請訪問排序手冊頁或在終端中鍵入“sort –help”。