sort命令怎样对多字段进行排序

qw_study 2008-07-22 04:16:49
sort命令怎样对多字段进行排序

7 2
2 5
2 6
3 4
3 3
6 1
要求按第一列降序、第二列升序排列
...全文
2151 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fyz_Winnie 2012-10-15
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
sort命令怎样对多字段进行排序

7 2
2 5
2 6
3 4
3 3
6 1
要求按第一列降序、第二列升序排列
[/Quote]


第一列降序,第二列升序,命令如下:
#cat testabc.txt
7 2
2 5
2 6
3 4
3 3
6 1

#sort +0nr -1 +1n -2 testabc.txt
7 2
6 1
3 3
3 4
2 5
2 6
kissthefuture 2012-10-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

多字段排序:
Sort -t: +2n -3 +5n -6 //以:为分隔符,对第3字段以数字方式,第6字段以数字方式排序
说明:
指定第m个字段的方法是: +(m-1) -m
字段后跟n表示数字序
[/Quote]

多谢!!!!!
basecoding 2011-12-10
  • 打赏
  • 举报
回复
多字段排序:
Sort -t: +2n -3 +5n -6 //以:为分隔符,对第3字段以数字方式,第6字段以数字方式排序
说明:
指定第m个字段的方法是: +(m-1) -m
字段后跟n表示数字序
fierygnu 2008-07-28
  • 打赏
  • 举报
回复
只sort不行
robinqcn 2008-07-28
  • 打赏
  • 举报
回复
cat file | sort -k 1n -k 2r

xwguan 2008-07-23
  • 打赏
  • 举报
回复
qzh 2008-07-22
  • 打赏
  • 举报
回复
字段间应该有分隔符吧
假设以空格分隔,数据保存在文件中
按第一列降序排列:
cat sort_file | sort -t “ ” +0 -1 -nr | more
按第二列升序排列:

cat sort_file | sort -t “ ” +1 -2 -n | more

linaxing 2008-07-22
  • 打赏
  • 举报
回复
一条sort命令解决不了这个问题吧,
用cut命令按域分开然后再排序,最后再将排序的结果写到一个文件,这样可以不?
windowsxp0925 2008-07-22
  • 打赏
  • 举报
回复
man一下sort会很难???


SORT(1) FSF SORT(1)

NAME(名称)
sort - 对文本文件的行排序

SYNOPSIS(总览)
../src/sort [OPTION]... [FILE]...

DESCRIPTION(描述)
将排序好的所有文件串写到标准输出上.

+POS1 [-POS2]
从关键字POS1开始,到POS2*之前*结束(快过时了) 字段数和字符偏移量都从零开始计数(与-k选项比较)

-b 忽略排序字段或关键字中开头的空格

-c 检查是否指定文件已经排序好了,不排序.

-d 在关键字中只考虑[a-zA-Z0-9]字符.

-f 将关键字中的小写字母折合成大写字母.

-g 按照通常的数字值顺序作比较,暗含-b

-i 在关键字中只考虑[\040-\0176]字符.

-k POS1[,POS2]
从关键字POS1开始,*到*POS2结束. 字段数和字符偏移量都从1开始计数(与基于零的+POS格式作比较)

-l 按照当前环境排序.

-m 合并已经排序好的文件,不排序.

-M 按(未知的)<‘JAN’<...<‘DEC’的顺序比较,暗含-b

-n 按照字符串的数值顺序比较,暗含-b

-o FILE
将结果写入FILE而不是标准输出.

-r 颠倒比较的结果.

-s 通过屏蔽最后的再分类比较来稳定排序.

-t SEP 使用SEP来替代空格的转换non-.

-T DIRECTORY
使用DIRECTORY作为临时文件,而不是$TMPDIR或者/tmp

-u 如果有-c,则按严格的顺序进行检查; 如果有-m,则只输出相等顺序的第一个.

-z 以0字节结束行,而不是使用换行符,这是为了找到-print0

--help 显示帮助并退出.

--version
输出版本信息并退出.

POS 为F[.C][OPTS], 这 里 的F 指的是字段数,而C为字段中的字符位置,这在-k中是从开始计数的,而在过时的格式中是从零开始的.OPTS可由一个或多
个Mbdfinr组成;这有效地屏蔽了对于那个关键字的全局-Mbdfinr设置.如果没有指定关键字,则使用整行作为关键字.如果没有FILE,或者FILE是-,则从标
准输入读取.

AUTHOR(作者)
Mike Haertel

REPORTING BUGS(报告BUGS)
报告bugs,请发到<bug-textutils@gnu.org>.

COPYRIGHT(版权)
版权所有© 1999 Free Software Foundation, Inc.
这是自由软件;参见关于复制条件的源文件.不承担任何责任;更不用说商用性或特殊需求的适应性.

SEE ALSO (另见)
sort 的完整文档是以Texinfo手册的方式维护的.如果在你那儿正确地安装了 info 和 sort 程序,命令

info sort

应该可以让你访问整个手册.

[中文版维护人]
riser <boomer@ccidnet.com>

[中文版最新更新]
2001/08/08

《中国linux论坛man手册页翻译计划》:
http://cmpp.linuxforum.net

GNU textutils 2.0a 1999年12月 SORT(1)

23,118

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧