Linux 命令 - sort: 行排序文本文件
命令格式
sort [OPTION]... [FILE]...
命令参数
-b, --ignore-leading-blanks
忽略开头的空白字符。
-d, --dictionary-order
只考虑空白字符、字母和数字字符。
-f, --ignore-case
排序时不区分大小写。
-g, --general-numeric-sort
根据常规数值排序。
-i, --ignore-nonprinting
只考虑可打印的字符。
-M, --month-sort
根据月份排序, JAN < ... < DEC。
-h, --human-numeric-sort
根据适合阅读的数值比较(例如,2K 1G)。
-n, --numeric-sort
根据字符串数数值比较。
-R, --random-sort
根据随机 hash 排序。
--random-source=FILE
从指定的文件中获取随机字节。
-r, --reverse
反向排序。
-V, --version-sort
根据版本排序。
-c, --check, --check=diagnose-first
检查目标文本是否已经排序而不会进行排序。
-C, --check=quiet, --check=silent
类似 -c 选项,但不报告第一个无序行。
-k, --key=POS1[,POS2]
对 POS1 与 POS2 之间的字符排序,而不是整个文本行。
-m, --merge
合并已排好序的文件而不会进行排序。
-o, --output=FILE
将排序结果输出至指定文件而不是标准输出。
-t, --field-separator=SEP
定义字段的空格符。默认情况下,字段是由空格或制表符分开的。
-T, --temporary-directory=DIR
使用 DIR 作为临时目录而不是 $TMPDIR 或 /tmp,可用多个选项指定多个目录。
-z, --zero-terminated
以 0 字节而非新行作为行尾标志。
--help
显示帮助信息。
--version
显示版本信息。
实例
测试文件 testfile:
mysql 39216 10.21.28.47 Oct 2 14:29
mail 4981 10.6.0.28 Oct 1 10:54
root 2672 10.6.0.32 Sep 27 15:53
mail 7724 10.6.0.32 Sep 14 11:40
root 18122 10.6.0.32 Aug 30 14:36
mysql 20441 10.21.28.58 Jun 22 21:14
root 5961 10.6.0.32 Jun 6 09:38
admin 60327 10.6.0.203 Mar 11 23:03
mysql 10885 10.6.0.203 Jan 20 12:53
admin 9917 10.6.0.32 Jan 16 17:01
a) 对文本行排序。
[huey@huey-K42JE cmdline]$ sort testfile
admin 60327 10.6.0.203 Mar 11 23:03
admin 9917 10.6.0.32 Jan 16 17:01
mail 4981 10.6.0.28 Oct 1 10:54
mail 7724 10.6.0.32 Sep 14 11:40
mysql 10885 10.6.0.203 Jan 20 12:53
mysql 20441 10.21.28.58 Jun 22 21:14
mysql 39216 10.21.28.47 Oct 2 14:29
root 18122 10.6.0.32 Aug 30 14:36
root 2672 10.6.0.32 Sep 27 15:53
root 5961 10.6.0.32 Jun 6 09:38
b) 根据第 2 列字段排序。
[huey@huey-K42JE cmdline]$ sort -k 2 testfile
mysql 10885 10.6.0.203 Jan 20 12:53
root 18122 10.6.0.32 Aug 30 14:36
mysql 20441 10.21.28.58 Jun 22 21:14
root 2672 10.6.0.32 Sep 27 15:53
mysql 39216 10.21.28.47 Oct 2 14:29
mail 4981 10.6.0.28 Oct 1 10:54
root 5961 10.6.0.32 Jun 6 09:38
admin 60327 10.6.0.203 Mar 11 23:03
mail 7724 10.6.0.32 Sep 14 11:40
admin 9917 10.6.0.32 Jan 16 17:01
c) 将第 2 列字段作为数字反向排序。
[huey@huey-K42JE cmdline]$ sort -k 2nr testfile
admin 60327 10.6.0.203 Mar 11 23:03
mysql 39216 10.21.28.47 Oct 2 14:29
mysql 20441 10.21.28.58 Jun 22 21:14
root 18122 10.6.0.32 Aug 30 14:36
mysql 10885 10.6.0.203 Jan 20 12:53
admin 9917 10.6.0.32 Jan 16 17:01
mail 7724 10.6.0.32 Sep 14 11:40
root 5961 10.6.0.32 Jun 6 09:38
mail 4981 10.6.0.28 Oct 1 10:54
root 2672 10.6.0.32 Sep 27 15:53
Linux 命令 - sort: 行排序文本文件的更多相关文章
- Linux命令去重统计排序
利用Linux命令进行文本按行去重并按重复次数排序 linux命令行提供了非常强大的文本处理功能,组合利用linux命令能实现好多强大的功能.本文这里举例说明如何利用Linux命令行进行文本按行去 ...
- Linux命令总结_sort排序命令
1.sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式: sort [-bcfMnrtk][源文件][-o 输出文件] 补充说明:sort可针对文本文件的内容,以行为单位 ...
- linux 命令 — sort、uniq
sort uniq sort:对行或者文本文件排序 uniq:去除重复的行 常用 sort -n file.txt 按数字进行排序 sort -r file.txt 按逆序进行排序 sort -M f ...
- Linux命令sort和uniq 的基本使用
uniq 123.txt 去除连续重复uniq -u 123.txt 保留唯一uniq -c 123.txt 去重并计算出现的个数sort -n 123.txt | uniq -c 排序后去重s ...
- linux命令: sort
参考 linux sort 命令详解 http://www.cnblogs.com/51linux/archive/2012/05/23/2515299.html 1 sort的工作原理 sort将文 ...
- Linux删除重复行 排序和不排序的做法--转载
本文部分翻译自这里,来自 Jadu Saikia 的博客,这个博客上有很多非常有用的小技巧,有空可以多看看. 通常如果我们想获取一个文件里不重复的行的时候,我们可以直接通过 sort -u 命令,先把 ...
- linux 命令 sort
Linux下的sort排序命令详解(一) 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出. [zook ...
- linux下sort命令使用详解---linux将文本文件内容加以排序命令
转载自:http://www.cnblogs.com/hitwtx/archive/2011/12/03/2274592.html linux下sort命令使用详解---linux将文本文件内容加以排 ...
- 利用Linux命令行进行文本按行去重并按重复次数排序
最近杂事太多,正事进展缓慢.Fighting! linux命令行提供了非常强大的文本处理功能,组合利用linux命令能实现好多强大的功能.本文这里举例说明如何利用Linux命令行进行文本按行去重并按重 ...
随机推荐
- Google中rel="canonical"的相关解释和用法
转载原地址 http://blog.sina.com.cn/s/blog_673b01740100jxlz.html 近听到很多SEO 对在页面的规范版本用规范 URL 标签( canonical U ...
- Spring Data JPA教程, 第八部分:Adding Functionality to a Repository (未翻译)
The previous part of my tutorial described how you can paginate query results with Spring Data JPA. ...
- linux的shell脚本入门
Linux shell脚本入门教程 为什么要进行shell编程 在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活 的工具.Shell不仅仅是命令的收集,而且是一门非常 ...
- Spring REST实践之HATEOAS
HATEOAS HATEOAS(The Hypermedia As The Engine Of Application Statue)是REST架构的主要约束."hepermedia&quo ...
- Bootstrap栅格系统(布局)
栅格系统(布局) Bootstrap内置了一套响应式.移动设备优先的流式栅格系统,随着屏幕设备或视口(viewport)尺寸的增加,系统会自动分为最多12列. 我在这里是把Bootstrap中的栅格系 ...
- 解决Java版CKFinder无法显示缩略图问题
这些天在写我的Java EE项目的时候用到了CKEditor和CKFinder,但是在用CKFinder的时候无法显示图片的缩略图,但是官网上的demo上却有缩略图,我一直以为是自己配置错误了,我把官 ...
- wikioi 3027 线段覆盖 2
题目描述 Description 数轴上有n条线段,线段的两端都是整数坐标,坐标范围在0~1000000,每条线段有一个价值,请从n条线段中挑出若干条线段,使得这些线段两两不覆盖(端点可以重合)且线段 ...
- Date、String、Calendar、Timestamp类型之间的转化
1.Calendar 转化 String Calendar calendat = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDa ...
- hdu 5565 Clarke and baton 二分
Clarke and baton Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php? ...
- Android 滑动效果进阶篇(五)—— 3D旋转
前面介绍了利用Android自带的控件,进行滑动翻页制作效果,现在我们通过代码实现一些滑动翻页的动画效果. Animation实现动画有两个方式:帧动画(frame-by-frame animatio ...