免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6250 | 回复: 16
打印 上一主题 下一主题

[原创]一个排序脚本  关闭 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-09-11 03:17 |只看该作者 |倒序浏览
我写的一个脚本,是按照人名的汉语拼音的顺序排序的
数据文件见:
http://www.chinaunix.net/forum/viewtopic.php?t=158788
  1. #!/bin/ksh
  2. #scriptname:sortname
  3. #write by:bjgirl
  4. #date:2003/09/11
  5. name=$(
  6. for i in $(awk -F\| '{print $2}' datafile)
  7.         do
  8.                 echo -n "$i=";echo $i|od -c|awk '{print $2}'
  9. done|tr -s '\n'|sort -n -t"=" -k 2|awk -F= '{print $1}')
  10. for j in $name
  11.         do
  12.                 sed -n /${j}/p datafile
  13. done
复制代码
结果
  1. $sortname
  2. 1231017911|黄伟|1231017911|2003/07/07|2004/07/03|200000.0|0.0|6.6375
  3. 1231021548|黄伟希|1231021548|2001/04/18|2001/10/18|20000.0|10000.0|6.975
  4. 1231021548|黄伟希|1231021548|2001/04/18|2001/10/18|20000.0|10000.0|6.975
  5. 1231054277|李八|1231054277|2002/04/18|2002/12/18|50000.0|0.0|6.6375
  6. 1231024763|李四|1231024763|2000/08/11|2001/08/11|10000.0|0.0|7.3125
  7. 1231053510|孙七|1231053510|2002/02/08|2002/08/08|50000.0|0.0|6.975
  8. 1231005010|苏义|1231005010|2003/06/25|2003/08/25|200000.0|0.0|6.3
  9. 1231017864|苏义强|1231017864|2001/04/29|2001/08/30|10000.0|0.0|6.975
  10. 1231030010|苏义红|1231030010|2001/12/27|2002/12/26|60000.0|38000.0|7.3125
  11. 1231042038|苏义红|1231042038|2003/02/27|2003/12/20|40000.0|0.0|6.6375
  12. 1231017864|苏义强|1231017864|2001/04/29|2001/08/30|10000.0|0.0|6.975
  13. 1231030010|苏义红|1231030010|2001/12/27|2002/12/26|60000.0|38000.0|7.3125
  14. 1231042038|苏义红|1231042038|2003/02/27|2003/12/20|40000.0|0.0|6.6375
  15. 1231030010|苏义红|1231030010|2001/12/27|2002/12/26|60000.0|38000.0|7.3125
  16. 1231042038|苏义红|1231042038|2003/02/27|2003/12/20|40000.0|0.0|6.6375
  17. 1231042190|王五|1231042190|2001/06/21|2001/11/21|20000.0|10000.0|6.975
  18. 1231023511|张三|1231023511|2003/01/07|2003/07/06|15000.0|0.0|6.3
  19. 1231053035|赵六|1231053035|2001/07/20|2001/07/24|30000.0|0.0|6.975
复制代码
原理很简单:把汉字转换成ASCII码后再排序
请指教!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2003-09-11 07:47 |只看该作者

[原创]一个排序脚本

精品呀!
顶!

论坛徽章:
1
2016科比退役纪念章
日期:2016-05-26 15:48:47
3 [报告]
发表于 2003-09-11 08:46 |只看该作者

[原创]一个排序脚本

admirer兄和BJgirl姐姐,能帮我看一下我写的一个小脚本吗?给点意见好不好,我想把它再完善一下。谢谢了!
http://www.chinaunix.net/forum/viewtopic.php?t=158771

还有,想请教admirer兄:为什么我发的贴子总是不能排到最新文章里面呢?结果一会儿就沉底了,没人看。55555555~~~~~~~~

论坛徽章:
0
4 [报告]
发表于 2003-09-11 09:07 |只看该作者

[原创]一个排序脚本

哈哈。太棒了,我也为排序的问题头痛过,中文名字怎么排也只排得大概在一块,原来要进行转换......收藏,这几天出的东西对偶都有用。。。。。up

论坛徽章:
0
5 [报告]
发表于 2003-09-11 09:10 |只看该作者

[原创]一个排序脚本

awk -F\| 
呵呵,原来分隔符还可以这样定义,我以为非得“|”,又学一招

论坛徽章:
0
6 [报告]
发表于 2003-09-11 10:00 |只看该作者

[原创]一个排序脚本

好东东,谢了

论坛徽章:
0
7 [报告]
发表于 2003-09-11 10:41 |只看该作者

[原创]一个排序脚本

sort -k 2 -t \| urfile
行吗?

论坛徽章:
0
8 [报告]
发表于 2003-09-11 10:44 |只看该作者

[原创]一个排序脚本

另外楼主的输出结果里:
1231017864|苏义强|1231017864|2001/04/29|2001/08/30|10000.0|0.0|6.975
1231030010|苏义红|1231030010|2001/12/27|2002/12/26|60000.0|38000.0|7.3125
1231042038|苏义红|1231042038|2003/02/27|2003/12/20|40000.0|0.0|6.6375
1231017864|苏义强|1231017864|2001/04/29|2001/08/30|10000.0|0.0|6.975
1231030010|苏义红|1231030010|2001/12/27|2002/12/26|60000.0|38000.0|7.3125
1231042038|苏义红|1231042038|2003/02/27|2003/12/20|40000.0|0.0|6.6375
1231030010|苏义红|1231030010|2001/12/27|2002/12/26|60000.0|38000.0|7.3125
1231042038|苏义红|1231042038|2003/02/27|2003/12/20|40000.0|0.0|6.6375
顺序交错。。。

论坛徽章:
0
9 [报告]
发表于 2003-09-11 11:25 |只看该作者

[原创]一个排序脚本

我只能做到按姓来排序,如果考虑到名字的话,好像没啥必要了吧~~~
Esql 该用户已被删除
10 [报告]
发表于 2003-11-03 12:53 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP