为什么当我使用粘贴过程合并两个文件时有困难 returns

why there are hard returns when I merge two files using paste process

要合并下面的两个文件,每个文件有 1 列 4 行,

file1
1
2
3
4

file2
5
6
7
8

我使用代码"paste file1 file2 > file3"

预期结果如下,以制表符分隔

file3
1 5
2 6
3 7
4 8

但得到的文件是

file3
1
5
2
6
3
7
4
8
我该如何处理这个问题?

您的数据必须在每一行都有空格。

,合并作为分隔符将解释一切。

paste -d, file1 file2 > file3

cat file3

1

    ,5

2

    ,6

3

    ,7

4

    ,8

到trim这些空格

使用 sed:

paste file1 file2 > file3
sed -e 's/\s\+/,/g' file3 > final.txt

使用 perl:

paste file1 file2 > file3
perl -pne 's/\s+/,/g' < file3 > final.txt

避难所做了。如果您在 windows 中创建文件并复制到 unix,那么它可能有 ^M 个字符。您可以使用

查看这些详细信息
cat -v file1

您可以使用

替换 ^M 个字符
tr -d '\r' < file3 > final.txt

dos2unix file3 final.txt

sed 's/^M//g' <file3 >final.txt