[shell基礎]——sort命令

Jelly_lyj發表於2017-03-18

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

 

相關文章