sort是在linux里非常常用的一个命令,将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ascii码值进行比较,最后将他们按升序输出。
这里有一个文件test,内容为:
8723 23423321324 21343223 234123 231234 1234654 345234
1. sort的-t选项和-k选项
sort提供了-t选项,后面可以设定间隔符, -k来指定列数。
对第一列排序
sort test
对第二列进行排序
sort -k 2 test
如果将test文件的内容改为:
8723,23423321324,21343223,234123,231234,1234654,345234
如果要对第二列按照大小排序
sort -t "," -k 2 test
如果没有-t选项的话,就是默认的空格或者tab键,因此上面就没有使用-t选项。
2. 倒序排列使用 -r 选项
sort默认的排序方式是升序,-r参数则是改成降序
sort -r test
输出结果:
8723 23423654 345234321324 213432234 123423 234123 231
3. sort的-n选项
影像之匠PixPretty
商业级AI人像后期软件,专注于人像精修,色彩调节及批量图片编辑,支持Windows、Mac多平台使用。适用于写真、婚纱、旅拍、外景等批量修图场景。
206 查看详情
sort默认按ASCII码值进行比较, 所以大家看上面2中的结果会发现, 8723 比 321324 却排在了最前面。 那我们如何让它按照数字大小排序呢?这时候就该-n参数出场了。
sort -n test
输出结果:
23 234123 231234 1234654 3452348723 23423321324 213432
sort -rn test
输出结果:
321324 2134328723 23423654 345234234 1234123 23123 234
附:sort命令参数详解
-f 将小写字母都转换为大写字母来进行比较,亦即忽略大小写
-c 检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1
-C 检查文件是否已排好序,如果乱序,不输出内容,仅返回1
-M 以月份来排序,比如JAN小于FEB等等
-b 忽略每一行前面的所有空白部分,从第一个可见字符开始比较
-u 在输出行中去除重复行, 不改变文件本身内容
以上就是Linux之关于sort命令的使用详解的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/292694.html
微信扫一扫
支付宝扫一扫