相关疑难解决方法(0)

如何实现水平猫?

标准cat逐行连接文件(逐行,如果你愿意的话)。我发现自己最近越来越需要水平 cat命令;即一个命令,它接受一个文件列表并将它们水平连接起来,逐列。到目前为止,我已经使用了临时解决方法,但我想知道是否存在一个很好的解决方案。

为了澄清,请考虑以下两个文件之间cathcat的比较:

$ cat a.dat 1.dat
a b
c d
1 2
3 4
$ hcat -s ' ' a.dat 1.dat
a b 1 2
c d 3 4
Run Code Online (Sandbox Code Playgroud)

(与cat我们需要指定分隔符不同,因为按照惯例,UNIX 文件的末尾没有列分隔符。)

scripting text-processing files cat

27
推荐指数
1
解决办法
7487
查看次数

使用 zipper 方法合并文件/后期合并

我正在寻找一种使用 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)

我仍然想知道是否有任何标准工具或它们的巧妙组合来做同样的事情。

text-processing merge

7
推荐指数
1
解决办法
594
查看次数

标签 统计

text-processing ×2

cat ×1

files ×1

merge ×1

scripting ×1