Bash 如何使用“粘贴”粘贴两个不同文件的多列?
使用这些数据:Bash 如何使用“粘贴”粘贴两个不同文件的多列?,bash,macos,Bash,Macos,使用这些数据: $cat file1 8.0 175.0 9.0 405.8 10.0 844.8 11.0 307.2 $cat file2 8.0 188.5 9.0 428.6 10.0 945.7 11.0 335.9 如何将这些按行合并到一起。我用粘贴尝试了几种可能性,比如: $paste file1 file2 问题是我得到了三列,其中中间一列是从两个原始列合并而来的: 8.0 8.0.5 175.0 9.0
$cat file1
8.0 175.0
9.0 405.8
10.0 844.8
11.0 307.2
$cat file2
8.0 188.5
9.0 428.6
10.0 945.7
11.0 335.9
如何将这些按行合并到一起。我用粘贴尝试了几种可能性,比如:
$paste file1 file2
问题是我得到了三列,其中中间一列是从两个原始列合并而来的:
8.0 8.0.5 175.0
9.0 9.0.6 405.8
10.0 10.07 844.8
11.0 11.09 307.2
我希望得到的结果如下所示:
8.0 175.0 8.0 188.5
9.0 405.8 9.0 428.6
10.0 844.8 10.0 945.7
11.0 307.2 11.0 335.9
您的文件有\r\n行结尾,因此第一行实际上是:
8.0\t175.0\r\t8.0\t188.5\r\n
#^^^^^^^^^^^..^^^^^^^^^^^^
# file1 file2
# tab added by paste
在您的文件上运行dos2unix
或sed-i.bak的/\r$/'
。这没有意义。“粘贴”应该在每两条粘贴的行之间插入一个选项卡,因此输出应该与您的示例非常相似。当我重新创建您的示例时,我会得到您指定的输出。唯一的区别是前两行没有前导空格,前导空格不是故意的。很抱歉原因可能是我使用OS X?顺便说一句,您的“损坏”输出来自命令paste file2 file1