Chinaunix

标题: 两个文件比对 [打印本页]

作者: kingkingdm    时间: 2020-01-17 15:28
标题: 两个文件比对
文件a有几万行,举例如下:
1582101143894869 小米
1533382914810927 小米
1604931685671552 小米
1633767375909246 通用
1596349886036242 zhenxinge
1603213739308249 字节
1647543737309510 字节
1610204629250812 字节

文件b其实是一个映射表:举例如下
123 小米
234 通用
235 字节
236 zhenxinge

需求  把文件a 多加一列映射表里对应的ID  如下
1582101143894869 小米  123
1533382914810927 小米  123
1604931685671552 小米  123
1633767375909246 通用  234
1596349886036242 zhenxinge 236
1603213739308249 字节 235
1647543737309510 字节 235
1610204629250812 字节 235


作者: chengchow    时间: 2020-01-17 15:47
  1. (py373) [root@bigdata121 tmp]# awk 'NR==FNR{a[$2]=$1}NR!=FNR{print $0,a[$2]}' b.txt a.txt
  2. 1582101143894869 小米 123
  3. 1533382914810927 小米 123
  4. 1604931685671552 小米 123
  5. 1633767375909246 通用 234
  6. 1596349886036242 zhenxinge 236
  7. 1603213739308249 字节 235
  8. 1647543737309510 字节 235
  9. 1610204629250812 字节 235
复制代码

作者: kingkingdm    时间: 2020-01-17 16:57
回复 2# chengchow

大佬666
作者: 淡灬水lm    时间: 2020-01-18 10:26
awk 'NR==FNR{a[$2]=$1;next}{print $0" "a[$2]}' b a
作者: ll104567    时间: 2020-01-27 18:45
文字发不上来不知道为什么

2020-01-27 18-42-18 的屏幕截图.png (164.25 KB, 下载次数: 58)

2020-01-27 18-42-18 的屏幕截图.png





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2