免费注册 查看新帖 |

Chinaunix

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

~~~帮忙将下面这些数字的位数缩短~~~ [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-03-27 09:13 |只看该作者 |倒序浏览
例如下面这样的:

  1. 10001346630
  2. 10001346631
  3. 10001346632
  4. 10001346633
  5. 10001346634
  6. 10001346635
  7. 10001346636
  8. 10001346637
  9. 10001346638
  10. 10001346639
  11. 10001346640
  12. 10001346641
  13. 10001346642
  14. 10001346643
  15. 37101370070
  16. 37101370071
  17. 37101370072
  18. 37101370073
  19. 37101370074
  20. 37101370080
  21. 37101370081
  22. 37101370082
  23. 37101370083
  24. 37101370084
  25. 37101370085
  26. 37101370086
  27. 37101370087
  28. 37101370088
  29. 37101370089
  30. 53101379270
  31. 53101379271
  32. 53101379272
  33. 53101379273
  34. 53101379274
  35. 53101379275
  36. 53101379276
  37. 53101379277
  38. 53101379278
  39. 53101379279
复制代码

数字都是排好序的

如果末尾从0到9都有的话,位数就可以往前缩一位,比如:


  1. 37101370080
  2. 37101370081
  3. 37101370082
  4. 37101370083
  5. 37101370084
  6. 37101370085
  7. 37101370086
  8. 37101370087
  9. 37101370088
  10. 37101370089
复制代码

可以缩为



  1. 3710137008
复制代码




数字很多,最好能使用aWK  

谢谢~!!

论坛徽章:
0
2 [报告]
发表于 2005-03-27 10:23 |只看该作者

~~~帮忙将下面这些数字的位数缩短~~~

  1. cut -c 1-10 file_name | uniq -c | awk '/^\ +10\ / {print $2}' | grep -v -f - file_name &&  cut -c 1-10 file_name | uniq -c | awk '/^\ +10\ / {print $2}'
复制代码

论坛徽章:
0
3 [报告]
发表于 2005-03-27 10:42 |只看该作者

~~~帮忙将下面这些数字的位数缩短~~~

  1. ( cut -c 1-10 file_name | uniq -c | awk '/^\ +10\ / {print $2}' | grep -v -f - file_name &&  cut -c 1-10 file_name | uniq -c | awk '/^\ +10\ / {print $2}' ) | sort
复制代码
排了序的

1000134663
10001346640
10001346641
10001346642
10001346643
37101370070
37101370071
37101370072
37101370073
37101370074
3710137008
5310137927

论坛徽章:
0
4 [报告]
发表于 2005-03-27 10:57 |只看该作者

~~~帮忙将下面这些数字的位数缩短~~~

哈  谢谢aquino   

俺回去试试

论坛徽章:
0
5 [报告]
发表于 2005-03-27 11:18 |只看该作者

~~~帮忙将下面这些数字的位数缩短~~~

高啊!

论坛徽章:
0
6 [报告]
发表于 2005-03-27 11:32 |只看该作者

~~~帮忙将下面这些数字的位数缩短~~~

其实我小菜

论坛徽章:
0
7 [报告]
发表于 2005-03-27 12:35 |只看该作者

~~~帮忙将下面这些数字的位数缩短~~~

看不懂 能解释解释吗

还有如果原始数据的位数不一样呢 比如里面还有9位 14位的数  等等

论坛徽章:
0
8 [报告]
发表于 2005-03-27 13:01 |只看该作者

~~~帮忙将下面这些数字的位数缩短~~~

不行呀  这个是不是写错了?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
9 [报告]
发表于 2005-03-27 14:32 |只看该作者

~~~帮忙将下面这些数字的位数缩短~~~

I try:

  1. cat tmp|awk '{gsub(/([0-9])+0 $/,"\n&");print}'|awk 'BEGIN{RS=ORS=""}{print(NF<10)?$0:substr($1,1,length($1)-1),"\n"}'
复制代码

result:
1000134663
10001346640
10001346641
10001346642
10001346643
37101370070
37101370071
37101370072
37101370073
37101370074
3710137008
5310137927

论坛徽章:
0
10 [报告]
发表于 2005-03-27 15:36 |只看该作者

~~~帮忙将下面这些数字的位数缩短~~~

为什么我执行就只得到

1000134663
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP