sort 常用方法
时间:2009-07-11 来源:xv_linux
读<Linux Command Line and Shell Scripting>
sort指令用来对数据进行排序,最简单的使用方法:
$ cat file1
one
two
three
four
five
$
$ sort file1
five
four
one
three
two
$
似乎很简单,看下面这个例子:
$ cat file2
1
2
100
45
3
10
145
75
$
$ sort file2
1
10
100
145
2
3
45
75
$
结果并非我们预想的那样,因为sort指令默认将数字也看作字符,并按照标准字符方式排序。此时使用-n参数便可得到按照数值排序的结果:
$ sort -n file2
1
2
3
10
45
75
100
145
$
同时配合-r参数可以得到降序的结果。
另一个常用参数是-m,按月份排序,Linux日志文件通常在开头部分包含日期信息,而-M参数是可以识别三个字母的月份缩写:
$ sort file3
Apr
Aug
Dec
Feb
Jan
Jul
Jun
Mar
May
Nov
Oct
Sep
$
$ sort -M file3
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
$
-k与-t参数用于一些按域分割的数据,如/etc/passwd文件。假设我们对/etc/passwd文件按用户ID排序,-t指定用于分割域的字符':',-k参数指定需要排序的域'3':
$ sort -t ':' -k 3 -n /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
...
其他使用方法参见手册,用到的时候再查吧。
sort指令用来对数据进行排序,最简单的使用方法:
$ cat file1
one
two
three
four
five
$
$ sort file1
five
four
one
three
two
$
似乎很简单,看下面这个例子:
$ cat file2
1
2
100
45
3
10
145
75
$
$ sort file2
1
10
100
145
2
3
45
75
$
结果并非我们预想的那样,因为sort指令默认将数字也看作字符,并按照标准字符方式排序。此时使用-n参数便可得到按照数值排序的结果:
$ sort -n file2
1
2
3
10
45
75
100
145
$
同时配合-r参数可以得到降序的结果。
另一个常用参数是-m,按月份排序,Linux日志文件通常在开头部分包含日期信息,而-M参数是可以识别三个字母的月份缩写:
$ sort file3
Apr
Aug
Dec
Feb
Jan
Jul
Jun
Mar
May
Nov
Oct
Sep
$
$ sort -M file3
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
$
-k与-t参数用于一些按域分割的数据,如/etc/passwd文件。假设我们对/etc/passwd文件按用户ID排序,-t指定用于分割域的字符':',-k参数指定需要排序的域'3':
$ sort -t ':' -k 3 -n /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
...
其他使用方法参见手册,用到的时候再查吧。
相关阅读 更多 +