免费注册 查看新帖 |

Chinaunix

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

[文本处理] 如何在排序后保存行号和次序信息 [复制链接]

论坛徽章:
7
亥猪
日期:2013-10-10 17:00:29辰龙
日期:2013-10-12 16:23:19卯兔
日期:2013-11-18 17:01:27金牛座
日期:2014-09-09 10:17:052015七夕节徽章
日期:2015-08-21 11:06:172015亚冠之柏太阳神
日期:2015-09-25 13:56:42数据库技术版块每日发帖之星
日期:2016-08-06 06:20:00
31 [报告]
发表于 2014-07-31 18:10 |只看该作者
回复 31# zcsgamer
awk中的asorti可以用数字排序; 是看你传进去的下标是什么就是什么?


   

论坛徽章:
0
32 [报告]
发表于 2014-08-01 15:37 |只看该作者
li0924 发表于 2014-07-31 18:10
回复 31# zcsgamer
awk中的asorti可以用数字排序; 是看你传进去的下标是什么就是什么?


你看这个,文件a:
3
11

awk '{a[$0]=$0;b[$0]=NR} END{len=asorti(a,c);for(i=1;i<=len;i++){print a[c],b[c],i}}' a

输出:
11 2 1
3 1 2

这应该还是按字符排序。

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
33 [报告]
发表于 2014-08-01 15:54 |只看该作者
本帖最后由 jason680 于 2014-08-01 15:54 编辑

回复 33# zcsgamer

sprintf

ex: sprintf("%015d", $0)   

论坛徽章:
7
亥猪
日期:2013-10-10 17:00:29辰龙
日期:2013-10-12 16:23:19卯兔
日期:2013-11-18 17:01:27金牛座
日期:2014-09-09 10:17:052015七夕节徽章
日期:2015-08-21 11:06:172015亚冠之柏太阳神
日期:2015-09-25 13:56:42数据库技术版块每日发帖之星
日期:2016-08-06 06:20:00
34 [报告]
发表于 2014-08-01 16:04 |只看该作者
回复 33# zcsgamer
哦;看来我进入误区了;
1. 其实你上面传入的下标3,11其实是字符串而非数字;
2. 我刚刚传入数字
  1. awk '{a[+$0]=$0}END{l=asorti(a,b);for(i=1;i<=l;i++)print b[i]}'
复制代码
发现结果一样。
3. 那这样的话,这个asorti函数没什么意义;可能跟它是字符串函数有关;


   

论坛徽章:
7
亥猪
日期:2013-10-10 17:00:29辰龙
日期:2013-10-12 16:23:19卯兔
日期:2013-11-18 17:01:27金牛座
日期:2014-09-09 10:17:052015七夕节徽章
日期:2015-08-21 11:06:172015亚冠之柏太阳神
日期:2015-09-25 13:56:42数据库技术版块每日发帖之星
日期:2016-08-06 06:20:00
35 [报告]
发表于 2014-08-01 16:09 |只看该作者
本帖最后由 li0924 于 2014-08-01 16:10 编辑

回复 33# zcsgamer
就使用sort -n吧
  1. awk '{a[$0]=$0}END{l=asorti(a,b);for(i=1;i<=l;i++)print b[i] |"sort -n" }'
复制代码

论坛徽章:
0
36 [报告]
发表于 2014-08-01 16:40 |只看该作者
li0924 发表于 2014-08-01 16:09
回复 33# zcsgamer
就使用sort -n吧

是这样

补充完10字限制
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP