文件1:
.tid.setnr := 1123
.tid.setnr := 3345
.tid.setnr := 5431
.tid.setnr := 89323
文件2:
.tid.info := 12
.tid.info := 3
.tid.info := 44
.tid.info := 60
输出文件:
.tid.info := 12
.tid.setnr := 1123
.tid.info := 3
.tid.setnr := 3345
.tid.info := 44
.tid.setnr := 5431
.tid.info := 60
.tid.setnr := 89323
答案1
使用paste
:
paste -d \\n file2 file1
答案2
另一个 awk 解决方案:
awk '{print; getline < "file1"; print}' file2
答案3
这paste
解决方案是最便携、最高效的。我只是提到这个替代方案,以防您在两个文件的行数不同的情况下更喜欢它的行为:
使用 GNU sed
:
sed Rfile1 file2
如果file1
的行数少于file2
,则当file1
耗尽时,sed
将不会为其输出任何内容(与 的空行相反paste
)。
如果file1
行数多于file2
,那么这些多余的行将被丢弃(而不是为file2
with打印空行paste
)。
$ paste a b
1 a
2 b
3
4
$ paste -d \\n a b
1
a
2
b
3
4
$ sed Rb a
1
a
2
b
3
4
$ sed Ra b
a
1
b
2
答案4
下面给出了最简单的解决方案。
cat file1 >> file2
或者
cat file2 >> file1