免费注册 查看新帖 |

Chinaunix

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

[文本处理] 请教一个数据匹配的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-01-22 09:32 |只看该作者 |倒序浏览
我有两列数据如下:  
124        A00300
125        A00221
126        A00265
127        A00229
128        C00420
129        C00225
130        C00224
131        C00287
132        C00290
133        C00262
134        A01644
135        A01686
136        A01675
137        A01628
138        A01616
139        A01701
140        E00007
141        E00102
142        E00053
143        E00013
144        E00120
145        E00028
146        E00093
147        E00008
148        D01510
我知道第二列的部分数据,如下:
A00265
C00420
C00262
A01616
E00053
E00028
D01510
D01346
D01364
D01499
J00171
C00213
C01893
请教有没有简单一点的方法,寻找给出的第二列数据对应的第一列的数据?

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
2 [报告]
发表于 2014-01-22 09:39 |只看该作者
本帖最后由 jason680 于 2014-01-22 09:40 编辑

回复 1# pdzcowboy

1. grep
$ grep -f F1 F2
126        A00265
128        C00420

2. awk
$ awk 'FNR==NR{a[$2]=$1}NR>FNR{print $1,a[$1]}' F2 F1
A00265 126
C00420 128

$ cat F2
125        A00221
126        A00265
127        A00229
128        C00420
129        C00225
130        C00224

$ cat F1
A00265
C00420

   

论坛徽章:
9
2015亚冠之阿尔纳斯尔
日期:2015-09-10 16:21:162015亚冠之塔什干火车头
日期:2015-07-01 16:23:022015年亚洲杯之巴勒斯坦
日期:2015-04-20 17:19:46子鼠
日期:2014-11-13 09:51:26未羊
日期:2014-08-28 18:13:36技术图书徽章
日期:2014-02-21 09:30:15酉鸡
日期:2014-01-14 11:12:49天蝎座
日期:2013-12-09 17:56:53平安夜徽章
日期:2015-12-26 00:06:30
3 [报告]
发表于 2014-01-22 09:48 |只看该作者
本帖最后由 HH106 于 2014-01-22 09:48 编辑

回复 1# pdzcowboy
修改下2楼
grep -Ff f1 f2

awk 'NR==FNR{a[$2]=$1;next}{print $1,a[$1]}' f2 f1
   

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
4 [报告]
发表于 2014-01-22 09:51 |只看该作者
  1. grep -xFf file1 file2
复制代码

论坛徽章:
6
处女座
日期:2014-04-02 16:07:17酉鸡
日期:2014-04-14 10:09:22子鼠
日期:2014-04-17 11:57:30辰龙
日期:2014-09-01 17:14:08戌狗
日期:2014-10-28 12:25:54未羊
日期:2014-11-14 11:31:58
5 [报告]
发表于 2014-01-22 09:53 |只看该作者
  1. grep -f i o | awk '{print $1}'
复制代码

论坛徽章:
71
15-16赛季CBA联赛之同曦
日期:2018-08-23 15:41:42辰龙
日期:2014-08-15 09:07:43狮子座
日期:2014-06-03 13:55:33亥猪
日期:2014-06-02 11:17:08巨蟹座
日期:2014-05-06 10:02:03午马
日期:2014-05-04 08:18:27亥猪
日期:2014-04-29 11:11:32技术图书徽章
日期:2014-04-24 15:51:26技术图书徽章
日期:2014-04-17 11:01:53辰龙
日期:2014-04-15 12:45:46亥猪
日期:2014-04-11 09:06:23射手座
日期:2014-04-01 15:28:10
6 [报告]
发表于 2014-01-22 09:57 |只看该作者
这种问题,论坛里很多啊

论坛徽章:
0
7 [报告]
发表于 2014-01-22 10:02 |只看该作者
谢谢各位了

论坛徽章:
7
亥猪
日期:2013-10-10 17:00:29辰龙
日期:2013-10-12 16:23:19卯兔
日期:2013-11-18 17:01:27金牛座
日期:2014-09-09 10:17:052015七夕节徽章
日期:2015-08-21 11:06:172015亚冠之柏太阳神
日期:2015-09-25 13:56:42数据库技术版块每日发帖之星
日期:2016-08-06 06:20:00
8 [报告]
发表于 2014-01-22 10:21 |只看该作者
本帖最后由 li0924 于 2014-01-22 10:27 编辑

@HH106@jason680
假如第2列在第1列没有对应的呢?这个你们没考虑。----

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
9 [报告]
发表于 2014-01-22 11:05 |只看该作者
回复 8# li0924

Would you provide good idea for it? thank you!!!
   

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
10 [报告]
发表于 2014-01-22 11:11 |只看该作者
谢谢各位了 {:2_172:}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP