Nai*_*ita 9 sed awk text-processing paste
文件1:
.tid.setnr := 1123
.tid.setnr := 3345
.tid.setnr := 5431
.tid.setnr := 89323
Run Code Online (Sandbox Code Playgroud)
文件2:
.tid.info := 12
.tid.info := 3
.tid.info := 44
.tid.info := 60
Run Code Online (Sandbox Code Playgroud)
输出文件:
.tid.info := 12
.tid.setnr := 1123
.tid.info := 3
.tid.setnr := 3345
.tid.info := 44
.tid.setnr := 5431
.tid.info := 60
.tid.setnr := 89323
Run Code Online (Sandbox Code Playgroud)
另一个 awk 解决方案:
awk '{print; getline < "file1"; print}' file2
Run Code Online (Sandbox Code Playgroud)
该paste解决方案是最便携和最有效的。我只是提到这个替代方案,以防您更喜欢在两个文件的行数不同的情况下的行为:
使用 GNU sed:
sed Rfile1 file2
Run Code Online (Sandbox Code Playgroud)
如果file1行数少于file2,则当file1耗尽时,sed将不会为其输出任何内容(与 的空行相反paste)。
如果file1有比 多的行file2,那么这些多余的行将被丢弃(而不是为file2with打印空行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
Run Code Online (Sandbox Code Playgroud)