簡介
sort
命令用於按特定順序(例如升序或降序)排列檔案中的行或輸入資料。它可以按字母順序、數字順序和基於特定欄位進行排序,如果沒有指定檔案,則從標準輸入中讀取。
常用選項
-r
:反轉排序順序(降序)-n
:按數字排序-k
:指定欄位或列排序-t
:定義欄位的分隔符,預設是空格-u
:在排序之後移除重複的行-f
:忽略大小寫-o
:排序之後指定輸出的檔案--help
:顯示幫助資訊
示例用法
透過字母排序(預設排序)
sort file.txt
透過字母降序排序
sort -r file.txt
透過數字排序
sort -n numbers.txt
透過指定欄位排序
sort -k 2 file.txt
# 按每行第二個欄位排序
#例如原始檔內容是:
apple 2
banana 1
cherry 3
# 排序後:
banana 1
apple 2
cherry 3
指定欄位分隔符
sort -t: -k 2 file.txt
# 此處指定分割符為冒號
# 例如原始檔內容是:
user1:1001
user3:1003
user2:1002
# 排序後:
user1:1001
user2:1002
user3:1003
排序後移除重複的行
sort -u file.txt
# 例如原始檔內容是;
apple
banana
apple
cherry
# 排序後:
apple
banana
cherry
將排序後的輸出儲存到檔案中
sort file.txt -o sorted_file.txt
排序不區分大小寫
sort -f file.txt
檢查檔案是否已排序
sort -c file.txt
使用分隔符按特定列進行數字排序
sort -t, -k 2n file.csv
# 按第二列的數字順序對 CSV 檔案 (file.csv) 進行排序,並使用逗號作為分隔符。
對 IP
地址進行排序
sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4 ips.txt
排序多個檔案
sort default1.txt default2.txt
按時間戳對日誌進行排序
sort -t ' ' -k 3,4 logs.txt
# 按第三和第四個欄位對日誌進行排序