免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: zwq_sh
打印 上一主题 下一主题

ask for one shell [复制链接]

论坛徽章:
0
11 [报告]
发表于 2006-11-22 11:51 |只看该作者
  1. sort -t= -k1,1 -u ufile
复制代码

这样符合要求么?

[ 本帖最后由 一梦如是 于 2006-11-22 12:18 编辑 ]

论坛徽章:
0
12 [报告]
发表于 2006-11-22 12:21 |只看该作者
原帖由 一梦如是 于 2006-11-22 11:51 发表
  1. sort -t= -k1,1 -u
复制代码

这样符合要求么?




  1. Administrator@TMA ~/chinaunix/tid859057
  2. $ sort -r <config | sort -t= -s -k1,1 -u
复制代码


我想要先-r一下, 楼主想要后面的替换前面的值. 不-r就是前面的决定最后的值....
再去研究下 sort...

论坛徽章:
0
13 [报告]
发表于 2006-11-22 12:52 |只看该作者
原帖由 Edengundam 于 2006-11-22 12:21 发表
我想要先-r一下, 楼主想要后面的替换前面的值. 不-r就是前面的决定最后的值....
再去研究 ...

呵,偶没仔细看题意……谢谢指出
不过您的方法也有点问题,sort -r是将文件按字符方式翻转排序,而不是将文件翻转输出。
如果是linux的话,有tac命令可以用。可以
  1. tac ufile|sort -t= -k1,1 -u
复制代码

不是linux的话,一句话sed里面的经典例子也可以翻转文件
  1. sed '1!G;h;$!d' ufile|sort -t= -k1,1 -u
复制代码

论坛徽章:
0
14 [报告]
发表于 2006-11-22 13:42 |只看该作者
原帖由 一梦如是 于 2006-11-22 12:52 发表

呵,偶没仔细看题意……谢谢指出
不过您的方法也有点问题,sort -r是将文件按字符方式翻转排序,而不是将文件翻转输出。
如果是linux的话,有tac命令可以用。可以
  1. tac ufile|sort -t= -k1,1 -u
复制代码
...



仔细想了一下看来这题比想象的复杂:考虑如下的文件



  1. d=0
  2. a=1
  3. b=2
  4. c=3
  5. a=2
  6. b=4
复制代码


如果想保持稳定排序结果...就得经过很多步操作...

论坛徽章:
0
15 [报告]
发表于 2006-11-22 13:54 |只看该作者
我的方法获得的结果是
a=2
b=4
c=3
d=0

应该是符合题意的,没必要固定仍按原文变量所在顺序输出
我的输出是按照变量名排序的,是稳定排序结果阿。

论坛徽章:
0
16 [报告]
发表于 2006-11-22 14:20 |只看该作者
原帖由 一梦如是 于 2006-11-22 13:54 发表
我的方法获得的结果是

应该是符合题意的,没必要固定仍按原文变量所在顺序输出
我的输出是按照变量名排序的,是稳定排序结果阿。



恩..我没阐述清楚, 如果楼主想保持原来的变量名顺序不变就不好处理了...
哈哈, tac我以前还没有见过>_<

论坛徽章:
0
17 [报告]
发表于 2006-11-23 10:16 |只看该作者
  1. awk -F= '{ if (!(NF == 2 && key[$1]++)) print; }' urfile
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP