免费注册 查看新帖 |

Chinaunix

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

处理两个关联文件的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-03 15:39 |只看该作者 |倒序浏览
file1:
      id             rq1                 rq2
     123456   2009-01-01  2009-01-30
     123456   2009-01-18  2009-01-30
     334444   2009-01-01  2009-01-30
file2 :
       count         id
      777777     123456
      888888     123456
      999999     787878
      111111     334444
希望形成的文件:
     777777     123456  2009-01-01  2009-01-30
       777777     123456   2009-01-18  2009-01-30
       111111     334444   2009-01-01  2009-01-30

文件1  id有重复,id+rq1 唯一
文件2  id有重复
请教了

论坛徽章:
0
2 [报告]
发表于 2009-08-03 15:50 |只看该作者
777777     123456
      888888     123456

为什么你期望的对应关系是777777     123456
有规则吗?

论坛徽章:
0
3 [报告]
发表于 2009-08-03 15:50 |只看该作者
[root@sjtj ~]# awk 'ARGIND==1{a[$1]=$0};ARGIND==2{print $1,a[$2]}' a b
是这个意思吗?

论坛徽章:
0
4 [报告]
发表于 2009-08-03 15:54 |只看该作者
谢谢两位回复。id为关联,
但是文件1中id重复,用ID+RQ1才是唯一,

论坛徽章:
0
5 [报告]
发表于 2009-08-03 15:55 |只看该作者
  1. [root@Mylinux tmp]# awk 'NR==FNR&&!a[$2]{a[$2]=$1}NR>FNR{print a[$1],$0}' file2 file1
  2. count      id             rq1                 rq2
  3. 777777      123456   2009-01-01  2009-01-30
  4. 777777      123456   2009-01-18  2009-01-30
  5. 111111      334444   2009-01-01  2009-01-30
复制代码

[ 本帖最后由 ywlscpl 于 2009-8-3 15:58 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2009-08-03 15:57 |只看该作者
"888888     123456",这行应该怎么处理呢!

论坛徽章:
0
7 [报告]
发表于 2009-08-03 15:57 |只看该作者

回复 #4 红狐狸 的帖子

文件2中id有重复,且重复id的第一列不相同
我就是问你为什么你期望id 123456对应777777
而不是对应888888

论坛徽章:
0
8 [报告]
发表于 2009-08-03 16:05 |只看该作者
ywlscpl :你好。
  谢谢你的回复,能给我解释下 !b[$2]++  吗?

论坛徽章:
0
9 [报告]
发表于 2009-08-03 16:08 |只看该作者

回复 #8 红狐狸 的帖子

改成!a[$2]了

!a[$2]{a[$2]=$1}
处理到第2个及以后相同的$2时,!a[$2]的值为假,所以后面的a[$2]=$1不会执行了

论坛徽章:
0
10 [报告]
发表于 2009-08-03 16:08 |只看该作者
形成这样的文件,
      777777     123456  2009-01-01  2009-01-30
       777777     123456   2009-01-18  2009-01-30
       888888     123456  2009-01-01  2009-01-30
       888888    123456   2009-01-18  2009-01-30
       111111     334444   2009-01-01  2009-01-30
soryy
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP