一、簡介
sort是linux中用于文本排序的命令,這里介紹一些常用的參數(shù)。
二、常用參數(shù)
sort命令格式為 sort [option] [file] ,常用參數(shù)如下:
-n 按數(shù)值大小排序
-t 指定分隔符,沒有指定時(shí),以空白作為分隔符
-k 排序字段 如: -k1 (按第1個(gè)字段排序) -k 1.2, 3.4 (按從第1個(gè)字段的第2個(gè)字符起,到第3個(gè)字段第4個(gè)字符止,進(jìn)行排序)
-b 忽略每行開始的空格
-o 結(jié)果輸出文件
-r 以相反順序排序
-m 合并已經(jīng)有序的文件,不排序
-f 忽略大小寫
-d 排序時(shí)只按字母、數(shù)字或空格,忽略其它字符
-u 去除重復(fù)的行
三、示例
#!/usr/bin/env bash
file="tmp/s.txt"
r1="tmp/r1.txt"
#正常排序
sort ${file}
#按數(shù)值大小排序
sort -n ${file}
#按數(shù)值大小,以第二個(gè)字段排序
sort -n -k2 ${file}
#按數(shù)值大小,以空格為分隔符,以第二個(gè)字段排序
sort -n -t ' ' -k2 ${file}
#按數(shù)值大小,以空格為分隔符,以第二個(gè)字段, 倒序排序
sort -n -t ' ' -k2 -r ${file}
#按數(shù)值大小,以空格為分隔符,以第二個(gè)字段, 倒序排序,輸出到文件
sort -n -t ' ' -k2 -r -m ${file} -o ${r1}