Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux sort 指令完全指南:忽略大小寫、數值排序、月份排序、指定欄位與分隔符進階用法

編輯:Linux 系統常見問題解答

常用參數速查

參數長參數功能
-b--ignore-leading-blanks忽略行首空白
-f--ignore-case忽略大小寫
-M--month-sort依月份名稱排序 (JAN < FEB ...)
-n--numeric-sort數值排序 (預設字典序)
-u--unique去重 (相同行僅保留一行)
-t--field-separator=SEP指定欄位分隔符 (預設 Tab)
-k--key=POS1[,POS2]指定排序鍵範圍 (起始欄位[,結束欄位])

實戰範例

基本排序

$ cat a
11
32
5
1
4
3
$ sort a          # 字典序
1
11
3
32
4
5
$ sort -n a       # 數值序
1
3
4
5
11
32
$ sort -u a       # 去重
1
3
5

指定分隔符與欄位排序 (/etc/passwd 以 : 分欄)

head /etc/passwd | sort -t ':' -k 1   # 第 1 欄 (帳號) 排序
head /etc/passwd | sort -t ':' -k 3 -n # 第 3 欄 (UID) 數值排序

複雜範例:以 : 分欄,第 2 欄數值排序

$ cat a
pa:11:a
sa:32:c
app:5:b
stort:1:d
pear:4:aa
hello:3:f
$ sort -t ':' -k 2 a          # 字典序
pa:11:a
stort:1:d
sa:32:c
hello:3:f
pear:4:aa
app:5:b
$ sort -t ':' -k 2 -n a       # 數值序 (關鍵 -n)
stort:1:d
hello:3:f
pear:4:aa
app:5:b
pa:11:a
sa:32:c

核心心法: 文字排序預設字典序,**數值排序務必加 -n**,分隔符與欄位組合可處理結構化文字 (CSV、passwd、日誌)。

Copyright © Windows教程網 All Rights Reserved