免费注册 查看新帖 |

Chinaunix

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

一个关于gawk的问题 在线等。。。求高手救命!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-03-15 23:41 |只看该作者 |倒序浏览
要求写一段gawk程序来处理大量的CSV文件。
因为两个系统传输文件时,自动生成了2个"在每个域两边,并且;是域的分割符
如"123";"123,456";"1"2"3";""
要求检察文件中的每一行是否"和;成比例 也就是 "的个数=2*;的个数+2,正确就跳过,出现错误的行数要在最后被显示出来,并且自动在子文件夹中生成一个同样名字的备分文件。
在线等。。。求高手救命!!!

论坛徽章:
1
双子座
日期:2013-10-17 00:46:45
2 [报告]
发表于 2012-03-16 00:06 |只看该作者
发错版了吧。。。
这个不难吧,给你个思路,剩下的你自己玩吧
  1. june@~ 00:03:00>
  2. echo '"123";"123,456";"1"2"3";""'|awk -F '' '{for(i=1;i<=NF;i++){if($i~/"/){a[1]++}else if($i ~/;/){a[2]++}}}END{if(a[1]!=2*a[2]+2){print a[1],a[2]}}'
  3. 10 3
  4. june@~ 00:03:11>

复制代码

论坛徽章:
0
3 [报告]
发表于 2012-03-16 00:23 |只看该作者
谢谢您的帮助,看起来很清楚明白。 我还想问个比较"2"的问题 以上的指令应该在什么个环境下测试? 我装在了gawk 3.1.6-1 运行后我打开cmd.exe 将代码写在txt中 在运行的时候直接就 gawk -f XXX.txt XXX.csv 这样吗

期待您的回复

谢谢

论坛徽章:
0
4 [报告]
发表于 2012-03-16 00:30 |只看该作者
忘记说了我是在windows xp中测试的 我应该怎么测试呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP