![join 不返回任何内容](https://linux22.com/image/123850/join%20%E4%B8%8D%E8%BF%94%E5%9B%9E%E4%BB%BB%E4%BD%95%E5%86%85%E5%AE%B9.png)
我有两个文件,其中的列由制表符分隔,我想合并它们
文件a01
a= b=
c= d=
e= f=
g= h= i=
j= k= l=
m= n= 0=
文件b01
1 2
3 4
5 6
7 8 9
10 11 12
13 14 15
期望的输出
a=1 b=2
c=3 d=4
e=5 f=6
g=7 h=8 i=9
j=10 k=11 l=12
m=13 n=14 0=15
但是当我运行命令时
join a01 b01
它什么也不返回
我不知道我做错了什么,
提前致谢
答案1
这根本不是join
命令的工作方式 - 它连接线基于公共(匹配字段) - 您的输入文件没有。
paste
您可以使用and执行类似的操作awk
:
paste a01 b01 | awk '{n=NF; for (i=n/2;i>0;i--) {$i = $i""$(i+n/2); NF--}} 1'
a=1 b=2
c=3 d=4
e=5 f=6
g=7 h=8 i=9
j=10 k=11 l=12
m=13 n=14 0=15
答案2
另一种可能的awk
解决方案:
paste a01 b01 | awk '{ for (i=1; i<=NF/2; i++) printf $i $(i+NF/2) (i==int(NF/2) ? RS:FS) }'