linux中的sort命令

2021-04-18 14:45:49 字數 1175 閱讀 6035

sort命令很常用,也很強大。不過上網看教程看起來很繁瑣~因為引數太多,不過需要有點耐心。

sort命令的一般格式為:

sort -cmu -o output_file [other options] +pos1 +pos2 input_files

下面簡要介紹一下sort的引數:

-c 測試檔案是否已經分類。

-d 以字典的順序排序

-f 排序時忽略大小寫

-g 按數值大小排序

-m 合併兩個分類檔案。

-u 刪除所有複製行。

-o 儲存sort結果的輸出檔名。

其他選項有:

-b 使用域進行分類時,忽略第乙個空格。

-n 指定分類是域上的數字分類。

-t 域分隔符;用非空格或tab鍵分隔域。

-r 對分類次序或比較求逆。

+n n為域號。使用此域號開始分類。

n n為域號。在分模擬較時忽略此域,一般與+n一起使用。

post1 傳遞到m,n。m為域號,n為開始分類字元數;例如4,6意即以第5域分類,從第7個字元開始。

最基本的sort方式為sort filename,按第一域進行分類(分類鍵0)。實際上讀檔案時sort操作將行中各域進行比較,這裡返回基於第一域sort的結果: sort -t: /etc/passwd > passwd.bak

如果要逆向sort結果,使用- r選項。在通讀大的註冊檔案時,使用逆向sort很方便。下面是按域0分類的逆向結果: sort -t: -r /etc/passwd > passwd.bak

有時需要只按第2域(分類鍵1)分類。這裡為重排報文中**區**,使用t 1,意義為按分類鍵1分類: sort -t: +1 /etc/passwd > passwd.bak

如果是數值域,即為數值分類,可以使用- n選項: sort -t: +2n /etc/passwd > passwd.bak

有時,原檔案中有重複行,這時可以使用- u選項進行唯一性(不重複)分類以去除重複行: sort -u /etc/passwd > passwd.bak

可以指定分類鍵次序。先以第4域,再以第1域分類,命令為-k4 -k1 sort -t: -k4 -k1 /etc/passwd > passwd.bak

sort還可以用於d f命令,以遞減順序列印使用列:(下面是按占用空間百分比,第4+1域) df | sort -r +4

linux下的Sort命令

sort命令是在linux裡非常有用,它將檔案進行排序,並將排序結果標準輸出。sort命令既可以從特定的檔案,也可以從stdin中獲取輸入。sort 選項 引數 b 忽略每行前面開始出的空格字元 c 檢查檔案是否已經按照順序排序 d 排序時,處理英文本母 數字及空格字元外,忽略其他的字元 f 排序時...

Linux的sort命令用法

sort預設是按字元排序例如 1 2 11 4 排序結果是 1 11 2 4 sort按照數字大小進行排序 新增 n sort將字元按照從大到小 相反的 的順序排列 r sort將排序結果輸入到當前排序的檔案 sort n test.txt o test.txt sort指定列進行排序 sort k...

Linux基礎命令 sort

sort 以行為單位,對文字檔案進行排,並輸出排序結果。預設情況下,以每一行為乙個單位,從首字元開始按照ascii碼向後逐個比較。此命令的適用範圍 redhat rhel ubuntu centos suse opensuse fedora。1 語法 sort 選項 file sort option...