幸运的是,GNU sort 命令能识别这种写法,并可以按月份的名称正确排序 。使用 --month-sort(-M)选项:
$ cat month.listNovemberOctoberSeptemberApril[...]$ sort --month-sort month.listJanuaryFebruaryMarchAprilMay[...]NovemberDecember月份的全称和简写都可以被识别 。
人类可读的数字排序(仅 GNU 支持)另一个人类和计算机的常见混淆点是数字的组合 。例如,人类通常把 “1024 kilobytes” 写成 “1KB”,因为人类解析 “1 KB” 比 “1024” 要容易且更快(数字越大,这种差异越明显) 。对于计算机来说,一个 9 KB 的字符串要比诸如 1 MB 的字符串大(尽管 9 KB 是 1 MB 很小一部分) 。GNU sort 命令提供了--human-numeric-sort(-h)选项来帮助正确解析这些值 。
$ cat sizes.list2M12MB1k9k9007000$ sort --human-numeric-sort90070001k9k2M12MB有一些情况例外 。例如,“16000 bytes” 比 “1 KB” 大,但是 sort 识别不了 。
$ cat sizes0.list2M12MB160001k$ sort -h sizes0.list160001k2M12MB逻辑上来说,这个示例中 16000 应该写成 16 KB,所以也不应该全部归咎于GNU sort 。只要你确保数字的一致性,--human-numeric-sort 可以用一种计算机友好的方式解析成人类可读的数字 。
随机排序(仅 GNU 支持)有时候工具也提供了一些与设计初衷相悖的选项 。某种程度上说,sort 命令提供对一个文件进行随机排序的能力没有任何意义 。这个命令的工作流让这个特性变得很方便 。你可以用其他的命令,像 shuf ,或者你可以用现在的命令添加一个选项 。不管你认为它是一个臃肿的还是极具创造力的用户体验设计,GNU sort 命令提供了对文件进行随机排序的功能 。
最纯粹的随机排序格式选项是 --random-sort 或 -R(不要跟 -r 混淆,-r 是 --reverse 的简写) 。
$ sort --random-sort alphabet.listdmpa[...]每次对文件运行随机排序都会有不同的结果 。
结语GNU 和 BSD 的 sort 命令还有很多功能,所以花点时间去了解这些选项 。你会惊异于 sort 的灵活性,尤其是当它和其他的 Unix 工具一起使用时 。
推荐阅读
- 人类对茶利用的发展趋势
- 洗茶的原因和由来浅说
- Linux的图形用户界面-你会选择哪个?
- 苏轼出生在什么朝代 苏轼与欧阳修并称是什么之一
- 梦见老同事和老领导 梦见老同事在一起聊天
- 招聘|大学毕业才知道,比英语四六级有用的证书是这些,聪明学生早考了
- 空调消毒怎么操作,用什么给空调过滤网消毒
- 天然真石漆能不能用于室内,天然真石漆怎么使用
- 企业入驻天猫网店需要哪些条件 天猫专卖店入驻条件费用
- 都匀品茗,诗意遗落在粼粼的剑江河中
