免费注册 查看新帖 |

Chinaunix

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

关于数据抽取,请求帮助! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-03-14 21:28 |只看该作者 |倒序浏览
  1. a,b两文件(各有2万行以上),结构如下:
  2. a
  3. 20020300000001/00001|2002/01/01|6000.00|
  4. 20020300000010/00021|2002/01/01|100.00|
  5. 20020300000011/00003|2002/01/01|600.10|
  6. 20020300000101/00123|2002/01/01|60100.00|
  7. .
  8. .
  9. b
  10. 20020300000001/00001|abc|2002/02/31|100|6000.00|
  11. 20020300000011/00003|dkx|2002/02/31|5|59.10|
  12. 20020300000101/00123|hgk|2002/02/31|600|60100.32|
  13. .
  14. .
  15. 要求:
  16. 由a,b生成c
  17. c中包含满足以下条件的记录
  18.    (1). a1=b1  and  a3!=b5
  19. 或者
  20.    (2). a中有而b中没有的(仅以第一域判断)
复制代码

还望各位出手相救,谢谢!!!

论坛徽章:
0
2 [报告]
发表于 2003-03-15 14:53 |只看该作者

关于数据抽取,请求帮助!

不好意思,我也是新手,你看看这样能行吗?
code/
while read LINE
do  
   aaa=`echo $LINE|awk -F '|' '{print $1}'`
   bbb=`echo $LINE|awk -F '|' '{print $3}'`
   ccc=`grep $aaa b|awk -F '|' '{print $1}'`
   ddd=`grep $aaa b|awk -F '|' '{print $5}'`
   eee=`echo $LINE|cut -f2,3 -d'|'`
   fff=`grep $aaa b`
   if [ $aaa -eq $ccc -a $bbb -ne $ddd ]
   then
      echo $fff$eee>>c
   else
      echo "error"
   fi
done<a
/code

论坛徽章:
0
3 [报告]
发表于 2003-03-15 17:33 |只看该作者

关于数据抽取,请求帮助!

谢谢!
这个程序运行不起来,再说这样作运行效率很低的。
  1. 生成文件c的条件是
  2.    (1). a1=b1  and  a3!=b5
  3. 或者
  4.    (2). a中有而b中没有的(仅以第一域判断)
复制代码

论坛徽章:
0
4 [报告]
发表于 2003-03-15 18:19 |只看该作者

关于数据抽取,请求帮助!

呵呵~~   别这样打击我吗?效率可能是不行,但也不至于运行不了吧?请问报什么错呢?

论坛徽章:
0
5 [报告]
发表于 2003-03-15 19:52 |只看该作者

关于数据抽取,请求帮助!

对不起,是我弄错了!
程序可以运行!但只是满足条件(1)的记录!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP