sca*_*cai 7 text-processing merge
我正在寻找一种使用 zipper 方法(也称为后期合并)逐行合并两个或多个文件的好方法。假设我们有三个文件,结果应该是这样的:
line1 file1
line1 file2
line1 file3
line2 file1
line2 file2
line2 file3
...
Run Code Online (Sandbox Code Playgroud)
编辑
我写了一个能够做到这一点的小python脚本:
#!/usr/bin/python
import sys, itertools
fileList = []
for file in sys.argv[1:]:
f = open(file, "r")
fileList.append(f.read().split("\n"))
for z in itertools.izip_longest(*fileList):
print "\n".join([i for i in z if i is not None])
Run Code Online (Sandbox Code Playgroud)
我仍然想知道是否有任何标准工具或它们的巧妙组合来做同样的事情。
我通常将paste
fromcoreutils
用于此类事情:
paste -d'\n' file1 file2 file3
Run Code Online (Sandbox Code Playgroud)