sort将文件的每一行做为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。app
[rocrocket@rocrocket programming]$ cat seq.txt banana apple pear orange [rocrocket@rocrocket programming]$ sort seq.txt apple banana orange pear
-u : unique 惟一,排序而且排除重复项code
[rocrocket@rocrocket programming]$ cat seq.txt banana apple pear orange pear [rocrocket@rocrocket programming]$ sort seq.txt apple banana orange pear pear [rocrocket@rocrocket programming]$ sort -u seq.txt apple banana orange pear pear因为重复被-u选项无情的删除了。
-r : reverse 反向排序排序
[rocrocket@rocrocket programming]$ cat number.txt 1 3 5 2 4 [rocrocket@rocrocket programming]$ sort number.txt 1 2 3 4 5 [rocrocket@rocrocket programming]$ sort -r number.txt 5 4 3 2 1
-o : output 将排序结果输出到源文件
sort默认将结果输出到标准输出,因此须要重定向才能够将结果写入文件,形如 sort filename > newfile
可是若是你想把排序结果输出到原文件中,用重定向不可行字符串
[rocrocket@rocrocket programming]$ sort -r number.txt > number.txt [rocrocket@rocrocket programming]$ cat number.txt [rocrocket@rocrocket programming]$
使用 -o 参数能够正常输出到源文件table
[rocrocket@rocrocket programming]$ cat number.txt 1 3 5 2 4 [rocrocket@rocrocket programming]$ sort -r number.txt -o number.txt [rocrocket@rocrocket programming]$ cat number.txt 5 4 3 2 1
-n : number 安装数字进行排序,默认数字会被看成字符串进行比较,会出现一下状况原理
[rocrocket@rocrocket programming]$ cat number.txt 1 10 19 11 2 5 [rocrocket@rocrocket programming]$ sort number.txt 1 10 11 19 2 5
使用 -n 参数之后file
[rocrocket@rocrocket programming]$ sort -n number.txt 1 2 5 10 11 19
-t : tables 指定分隔符,默认tab为分隔符
-k: 指定安装哪个分割区域进行排序facebook
[rocrocket@rocrocket programming]$ cat facebook.txt banana:30:5.5 apple:10:2.5 pear:90:2.3 orange:20:3.4 [rocrocket@rocrocket programming]$ sort -n -k 2 -t : facebook.txt # -n 按照数字进行排序 # -t 此例中指定 : 为分隔符 # -k 此例中按照分割的第二区域进行排序 apple:10:2.5 orange:20:3.4 banana:30:5.5 pear:90:2.3