原文网址:https://www.youyong.top/article/11597a108f4d9
统计日志中常用到sort排序,sort的比较原则是从每行的首字符向后,依次按ASCII码值进行比较,最后默认按升序输出,而有时我们需要按 数字 排序,要不就会产生升序排列下 10 100 200 排在 2 上面的情况。
原文网址:https://www.youyong.top/article/11597a108f4d9
统计日志中常用到sort排序,sort的比较原则是从每行的首字符向后,依次按ASCII码值进行比较,最后默认按升序输出,而有时我们需要按 数字 排序,要不就会产生升序排列下 10 100 200 排在 2 上面的情况。
原文网址:https://www.youyong.top/article/11597a108f4d9
1:按数字排序
sort提供了按数字排序的选项 -n ( n就是no的意思 )
-n, --numeric-sort compare according to string numerical value
2:按某一列排序 涉及到两个选项 -t 和 -k (-t用来指定分隔符,-k 指定列数)
比如文件student.txt的数据数据如下
join:12:man //名字:年龄:性别 rose:14:woman dama:13:man
按年龄排序
下面再说说几个其他常用的选项:
3:去除重复行 -u
-u, --unique with -c, check for strict ordering; without -c, output only the first of an equal run
4:降序排列 -r
-r, --reverse reverse the result of comparisons //反向比较的结果,默认是升序 用-r 就是降序
5:小写子母转化为大写子母比较 -f
-f , --ignore-case fold lower case to upper case characters
大家知道小写子母和大写子母的ASCII码值是不一样的,如果用 -f 就会把小写子母当成大写子母来比较
6:以月份来排序 -M
-M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'
7:忽略每一行前面的所有空白部分 -b
-b, --ignore-leading-blanks ignore leading blanks
作者声明:本篇文章系本人原创,欢迎分享,但未经许可,谢绝转载。
共 0 条留言
云服务器 ECS Linux /tmp 目录文件是如何做到定期清理的?
Linux 系统虚拟主机 .htaccess 如何限制某些 IP 访问?
iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评
资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样
Linux screen 提示:There is no screen to be resumed matching
bash 执行 shell 脚本提示 ll: command not found
linux ll 或 ls -l 后,文件的owner和group全是数字,为啥?
linux下grep过滤的时候如何排除某些字符以及排除多个?
手机扫一扫
分享文章