2

输入文件1:

1
5
6

输入文件2:

4.5
6.7
9.9

输出:

1  4.5
5  6.7
6  9.9

我试过join了,但它在这里不起作用,因为没有共同的领域。有人对此有想法吗?

4

2 回答 2

11

根据以下记录,我认为您正在寻找paste命令而不是join

pax> cat file1
1
5
6

pax> cat file2
4.5
6.7
9.9

pax> paste file1 file2
1   4.5
5   6.7
6   9.9

有关更多详细信息,请参阅您的友好社区man页面(或info页面),例如-d用于选择除 之外的分隔符TAB,或-s按顺序而不是并行处理文件。

pax> paste -d= file1 file2
1=4.5
5=6.7
6=9.9

pax> paste -d, -s file1 file2
1,5,6
4.5,6.7,9.9
于 2012-12-12T06:25:36.987 回答
2
awk 'FNR==NR{a[NR]=$1;next}{print a[FNR],$0}' file2 file1

测试如下:

> cat file2
a 
b
c
> cat file1
1 
100
90
> awk 'FNR==NR{a[NR]=$1;next}{print a[FNR],$0}' file2 file1
a 1 
b 100
c 90
于 2012-12-12T09:33:29.663 回答