sort命令
sort是按照ASCII碼升序輸出,且是從首字元依次向後比較的
常見選項
-c 測試檔案是否已經被排序
-r 逆向排序
-n 按照數字數值大小排序
-t 指定分割符
-k 指定域
-u 去除結果中的重複行
-m 合併兩個已排序的檔案
-o 將輸出寫到指定的檔案
(1) -u 排序後去除重複行
# cat 1.txt 1:datadir=/aaa/zzz: 2:basedir=:cc 4:datadir=/sdfsfsd:dd 3:basedir=/data:gg snsdsnsdsnsd snsdsnsdsnsd # cat 1.txt | sort -u 1:datadir=/aaa/zzz: 2:basedir=:cc 3:basedir=/data:gg 4:datadir=/sdfsfsd:dd snsdsnsdsnsd
(2) -n
# cat 2.txt 1 10 11 19 2 5 # cat 2.txt | sort --->#sort是按照ASCII碼升序輸出,且是從首字元依次向後比較的 1 10 11 19 2 5 # cat 2.txt | sort -n --->#為實現純數值排序可用 -n 選項實現 1 2 5 10 11 19
(3) -r 逆序
# cat 2.txt | sort -n -r 19 11 10 5 2 1
(4) -t -k
# cat -n 3.txt 1 banana:30:5.5 2 apple:10:2.5 3 pear:90:2.3 4 orange:20:3.4 # cat 3.txt | sort apple:10:2.5 banana:30:5.5 orange:20:3.4 pear:90:2.3 # cat 3.txt | sort -t ':' -k 3 -n --->#以:為分隔符,根據第3個域的數值大小排序 pear:90:2.3 apple:10:2.5 orange:20:3.4 banana:30:5.5 # cat 3.txt | sort -t ':' -k 3 -n -r --->#以:為分隔符,根據第3個域的數值大小逆向排序 banana:30:5.5 orange:20:3.4 apple:10:2.5 pear:90:2.3