网站开发技术

记点笔记、 学点技术 欢迎交流建站技术。本站关注lamp技术

您尚未登录。

#1 2014-12-21 09:30:56

admin
管理员

linux 中 sort 命令 排序 用法示例

linux 中的  sort 命令是用来排序的。 

排序的规则是 , 对于文本文件,通常是一行一行的。

一行中通常有时有多个域组成, 域直接默认使用空格隔开的。

比如文件 a.txt

2 this is two
1 this is one
03 this is three

这个文件, 是三行组成, 没一个行有三个域, 域直接用空隔开。

排序就是对 没一个竖向的域中的一个或者多个进行排序。

示例:

# sort a.txt
03 this is three
1 this is one
2 this is two

输出的结果03排在了第一。 因为0比1小。

如何让03排再最后呢,使用  -n 即可

 sort -n a.txt
1 this is one
2 this is two
03 this is three

这里可以可以看到选项有很强大的功能。常用的选项总结

-t : 修改域的分隔符, 默认的情况是 空, 比如想用冒号 -t: (注意这里没有空格)

-k : 指定按照那个域进行排序。

-n : 按照数的大小的规律,默认是按照字符的大小排列。

sort -k 3 -k 1 -n a.txt
1 this is one
2 this is two
03 this is three

这个例子是排了两次, 可以看到有两个k 第一对第三个域拍, 第二个对第第一域拍,并且按照数的大小排序。

-r : 反向输出结果

-u :去除重复的行

-o : 输出的结果写入文件  


更多的例子

linux sort 的多行排序

linux sort 文件合并 使用选项 -m

linux sort -u 用来清除重复的行

linux sort -t 用来改变文件域的分割符号


ipbbs.net

离线

页脚

Powered by FluxBB