免费注册 查看新帖 |

Chinaunix

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

显示每行前两个字符 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-02-14 18:31 |只看该作者 |倒序浏览
各位:

我有一个文件

  1. 上海市 123
  2. 北京市 100
  3. 北京市 200
  4. 四川省 159
  5. 广东省 100
  6. 广东省广州市 50
  7. 广东省广州市 50
  8. 广东省广州市 100
复制代码


我想统计出各省市的数量,取每行前两个字符,然后加上后面的数字,想得出

  1. 上海 123
  2. 北京 300
  3. 四川 159
  4. 广东 300
复制代码


请问有什么办法
谢谢!!!

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
2 [报告]
发表于 2008-02-14 18:44 |只看该作者
不好意思,用code包一下

  1. awk '{a[substr($1,1,2)]+= $2}END{for(i in a)print i,a[i]}' urfile
复制代码

[ 本帖最后由 cjaizss 于 2008-2-14 20:07 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2008-02-14 19:58 |只看该作者
原帖由 cjaizss 于 2008-2-14 18:44 发表
awk '{a[substr($1,1,2)]+= $2}END{for(i in a)print i,a}' urfile


老哥!
完全看不懂!!
能解释一下吗?

我运行报
  1. awk: cmd. line:1: (FILENAME=a FNR=8) fatal: attempt to use array `a' in a scalar context
复制代码

论坛徽章:
0
4 [报告]
发表于 2008-02-14 20:06 |只看该作者

显示每行前两个字符

awk  '{print substr($1,1, $2}'  ufile  这个简单一点

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
5 [报告]
发表于 2008-02-14 20:10 |只看该作者
原帖由 wtuter 于 2008-2-14 20:06 发表
awk  '{print substr($1,1, $2}'  ufile  这个简单一点

他还要统计的
to LZ:如果你没学过awk,可能比较难以彻底解释这个脚本。
思路其实很简单:
先取第一个词的前两个汉字,然后用它来做索引,然后相同索引的值累加。最后,结束的时候,把它全部打印出来。

论坛徽章:
0
6 [报告]
发表于 2008-02-15 08:55 |只看该作者
walkerxk@www:~$ cat a
上海市 123
北京市 100
北京市 200
四川省 159
广东省 100
广东省广州市 50
广东省广州市 50
广东省广州市 100
walkerxk@www:~$ cut -b1-6 a> b(因为是UTF8所以两个字是6个字节)
walkerxk@www:~$ cut -d\  -f2 a> c
walkerxk@www:~$ paste b c|sed 's/\t/ /g'
上海 123
北京 100
北京 200
四川 159
广东 100
广东 50
广东 50
广东 100
walkerxk@www:~$

论坛徽章:
0
7 [报告]
发表于 2008-02-15 09:26 |只看该作者
LANG=zh_CN.gb2312 sed -r 's/^(..)[^0-9]*([0-9])/\1 \2/' 1.txt

论坛徽章:
0
8 [报告]
发表于 2008-02-15 10:22 |只看该作者
帅!
谢谢!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP