免费注册 查看新帖 |

Chinaunix

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

求助:linux下将两个文档内容逐行连接 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-31 07:59 |只看该作者 |倒序浏览
求助:linux下将两个文档逐行连接


打个比方
a文件内容是
a 1
b 2
c 3

b文件内容是
a 5
b 6
---------------------
我想出的结果是
a 1 5
b 2 6
c 3
请大家帮帮忙@@

论坛徽章:
0
2 [报告]
发表于 2009-03-31 08:09 |只看该作者
awk '{a[$1]=a[$1]" "$2}END{for (j in a) print j""a[j]}' a b

[ 本帖最后由 ywlscpl 于 2009-3-31 08:12 编辑 ]

论坛徽章:
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 [报告]
发表于 2009-03-31 08:18 |只看该作者
join -a1 a  b

论坛徽章:
0
4 [报告]
发表于 2009-03-31 08:19 |只看该作者
好厉害
还有,如果不是按第一列呢?或者分隔符是tab而不是空格
比如是这样
2 a
3 b
4 c
-------------
1 a
2 b

麻烦啦@@

论坛徽章:
0
5 [报告]
发表于 2009-03-31 08:26 |只看该作者
原帖由 han52617 于 2009-3-31 08:19 发表
好厉害
还有,如果不是按第一列呢?或者分隔符是tab而不是空格
比如是这样
2 a
3 b
4 c
-------------
1 a
2 b

麻烦啦@@


理解了就能自己改,不能光要答案
awk '{a[$2]=a[$2]" "$1}END{for (j in a) print j""a[j]}' a b

论坛徽章:
0
6 [报告]
发表于 2009-03-31 08:42 |只看该作者
谢谢楼上,还有个疑问,在何处设置源文件的分隔符呢?
比如源文件是以,或者:分割的情况呢
是用-F么

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

论坛徽章:
0
8 [报告]
发表于 2009-03-31 08:47 |只看该作者
[root@Greendays usr]# paste a b | awk '{print $1,$2,$3,$4}'
a 1 a 5
b 2 b 6
c 3

论坛徽章:
0
9 [报告]
发表于 2009-03-31 08:53 |只看该作者
学习下机器猫的
join -a1 -j2 a b

但用join有个局限,两个文件必须一个为另一个的子集,比如a文件的abc包含了b文件的ab
若a文件为
2 a
3 b
4 c
b文件为
1 a
2 b
3 e
不知道用join怎么处理

论坛徽章:
0
10 [报告]
发表于 2009-03-31 09:14 |只看该作者

回复 #1 han52617 的帖子

[linuxboy823@fc8 shell]$ cat 20.txt
a 5
b 6
[linuxboy823@fc8 shell]$ cat 19.txt
a 1
b 2
c 3
[linuxboy823@fc8 shell]$ awk 'NR==FNR{a[$1]=$2}NR>FNR{print $0,a[$1]}' 20.txt 19.txt     
a 1 5
b 2 6
c 3

[ 本帖最后由 linuxboy823 于 2009-3-31 09:18 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP