当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 3 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : sort排序的问题。
帖子发表于 : 2013-04-04 22:45 

注册: 2013-04-04 22:27
帖子: 2
系统: win7
送出感谢: 0 次
接收感谢: 0 次
关于排序的一个问题,搞了好几天没搞定,希望各位大神指教! 不胜感激!


问题描述: 有一个文件a.txt,内容如下:


host@:/opt/folder/file1 1 11 111 /opt/folder/file1

host@:/opt/folder/file2 2 22 111 /opt/folder/file2

host@:/opt/folder/file3 3 33 123 /opt/folder/file3



我现在想让以第四列降序重新排序, 但是保证如果有任意2行该列相等的话,不改变它们在文件中出现的先后顺序,也就是对文件中file1, 排序后希望它还在file2前。
我尝试过命令 cat a.txt | sort -nr k 4, 这样不行 虽然可以降序排列,但是会改变相等行在文件的先后次序,原因是
sort 命令会如果在当前列相等的话,会自动比较后面的列。

附上期望排序后结果:
host@:/opt/folder/file3 3 33 123 /opt/folder/file3

host@:/opt/folder/file1 1 11 111 /opt/folder/file1

host@:/opt/folder/file2 2 22 111 /opt/folder/file2


页首
 用户资料  
 
2 楼 
 文章标题 : Re: sort排序的问题。
帖子发表于 : 2013-04-05 0:20 
头像

注册: 2009-12-01 13:34
帖子: 78
送出感谢: 2
接收感谢: 5
代码:
for field in $(cat a.txt|awk '{print $4}'|sort -nr|uniq)
do
cat a.txt|awk '{if($4=='${field}')print $0}'
done

:em11
加油,sed与awk才是王道!


_________________
myshell^_^
xfce4.10最好用了……
舒适的滚轮升起焦点设计,大量快捷键,alt移动,糟糕的桌面图标……
珍爱生命,LFS 三思~


页首
 用户资料  
 
3 楼 
 文章标题 : Re: sort排序的问题。
帖子发表于 : 2013-04-06 0:53 

注册: 2013-04-04 22:27
帖子: 2
系统: win7
送出感谢: 0 次
接收感谢: 0 次
:em11 十分感谢needle, 我一直在考虑用sort 思维固化了。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 3 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译