在Linux命令行中粘贴多个文件,每个文件之间没有空白列

时间:2013-12-29 17:10:14

标签: linux

每当我尝试使用他们拥有的任何列粘贴多个文件时,我都会遇到文件之间创建的空白列的问题。

例如,我想粘贴五个文件,每个文件包含五列:

paste file1 file2 file3 file4 file5

2 个答案:

答案 0 :(得分:3)

粘贴的默认分隔符是制表符。您可以通过提供 -d 选项来更改它:

paste -d' ' file1 file2 ...

根据上面评论中的信息,输入文件似乎在行尾有空格/制表符。试着说:

paste <(sed 's/\s$//' file1) <(sed 's/\s$//' file2) ...

答案 1 :(得分:1)

我认为问题是file1,file2,file3和file4在每一行的末尾都有多余的空格。

我建议您不要首先生成那些多余的标签,但如果您无法控制它们的生成方式,则可以使用sedtr删除它们。

另外,您声明paste file1 file2 | cut -f6给出了一个空白列,但是如果您使用awk而不是cut(请参阅GNU cut的信息页),您将不会遇到此问题反正。