我需要将具有不同行数的两个不同文件中的列打印到一个文件中

时间:2015-02-27 07:52:21

标签: sed gawk

FILE1.TXT

123 321 231
234 432 342
345 543 453

FILE2.TXT

abc bca cba
def efd fed
ghi hig ihg
jkl klj lkj
mno nom onm
pqr qrp rqp

我想要输出文件 Outfile.txt

123 321 231 abc bca cba
234 432 342 def efd fed
345 543 453 ghi hig ihg
jkl klj lkj
mno nom onm
pqr qrp rqp

1 个答案:

答案 0 :(得分:1)

最简单:

sed 's/$/ /' file1 | paste -d '' - file2

这会将空格附加到file1中的行的末尾,并将其输出与file2粘贴在一起而不带分隔符。

或者,如果您知道file2超过file1

awk 'NR == FNR { line1[NR] = $0 " "; next } { print line1[FNR] $0 }' file1 file2

或者如果你不知道,

awk 'NR == FNR { n = NR; line1[n] = $0 " "; next } { print line1[FNR] $0 } END { for(i = FNR + 1; i <= n; ++i) print line1[i]; }' file1 file2

也有效。