使用 Linux 将两个文件粘贴到一个文件中
Paste two files into one using Linux
我试图在 Linux 中将两个文件粘贴到一个文件中:
file1
1 101 0 0 0 -9
1 102 0 0 0 -9
1 103 0 0 0 -9
1 104 0 0 0 -9
1 105 0 0 0 -9
1 106 0 0 0 -9
1 107 0 0 0 -9
1 108 0 0 0 -9
1 109 0 0 0 -9
1 110 0 0 0 -9
file2:
2 2 1 3 1 3 3 3 1 3 1 1 1 3 1 2 1 2 1 3 1 3 1 2 1
1 2 3 3 1 1 3 3 1 1 1 1 3 3 2 2 1 1 1 1 3 3 1 1 1
2 2 1 3 3 3 1 3 1 3 1 3 1 3 1 2 1 2 1 3 1 3 1 2 1
1 2 3 3 3 3 1 1 1 1 3 3 3 3 2 2 1 1 1 1 3 3 1 1 1
1 2 1 3 3 3 1 3 1 3 1 3 1 3 1 2 1 2 1 3 1 3 1 1 3
1 2 3 3 1 3 1 3 1 1 1 3 3 3 2 2 1 1 1 1 3 3 1 1 1
2 2 3 3 1 3 1 3 1 1 1 3 3 3 2 2 1 1 1 1 3 3 1 1 1
1 2 3 3 1 3 1 3 1 1 1 3 3 3 2 2 1 1 1 1 3 3 1 1 1
2 2 3 3 1 3 1 3 1 1 1 3 3 3 2 2 1 1 1 1 3 3 1 1 1
1 1 3 3 3 3 1 1 1 1 3 3 3 3 2 2 1 1 1 1 3 3 1 1 3
我已经尝试了 paste -d " " file1 file2 > output
和 paste file file2 | sed 's/\t/ /' > file3
但由于某些原因没有这样做。我在输出中只得到 file2 的内容。
期望的输出是:
1 101 0 0 0 -9 2 2 1 3 1 3 3 3 1 3 1 1 1 3 1 2 1 2 1 3 1 3 1 2 1
1 102 0 0 0 -9 1 2 3 3 1 1 3 3 1 1 1 1 3 3 2 2 1 1 1 1 3 3 1 1 1
1 103 0 0 0 -9 2 2 1 3 3 3 1 3 1 3 1 3 1 3 1 2 1 2 1 3 1 3 1 2 1
1 104 0 0 0 -9 1 2 3 3 3 3 1 1 1 1 3 3 3 3 2 2 1 1 1 1 3 3 1 1 1
1 105 0 0 0 -9 1 2 1 3 3 3 1 3 1 3 1 3 1 3 1 2 1 2 1 3 1 3 1 1 3
1 106 0 0 0 -9 1 2 3 3 1 3 1 3 1 1 1 3 3 3 2 2 1 1 1 1 3 3 1 1 1
1 107 0 0 0 -9 2 2 3 3 1 3 1 3 1 1 1 3 3 3 2 2 1 1 1 1 3 3 1 1 1
1 108 0 0 0 -9 1 2 3 3 1 3 1 3 1 1 1 3 3 3 2 2 1 1 1 1 3 3 1 1 1
1 109 0 0 0 -9 2 2 3 3 1 3 1 3 1 1 1 3 3 3 2 2 1 1 1 1 3 3 1 1 1
1 110 0 0 0 -9 1 1 3 3 3 3 1 1 1 1 3 3 3 3 2 2 1 1 1 1 3 3 1 1 3
请注意,less output
我正在合并两个文件,但它们之间有 ^M
。
非常感谢任何帮助。
file1 有 CRLF 行结尾。使用 dos2unix
删除 CR 并获得预期的输出。
我试图在 Linux 中将两个文件粘贴到一个文件中:
file1
1 101 0 0 0 -9
1 102 0 0 0 -9
1 103 0 0 0 -9
1 104 0 0 0 -9
1 105 0 0 0 -9
1 106 0 0 0 -9
1 107 0 0 0 -9
1 108 0 0 0 -9
1 109 0 0 0 -9
1 110 0 0 0 -9
file2:
2 2 1 3 1 3 3 3 1 3 1 1 1 3 1 2 1 2 1 3 1 3 1 2 1
1 2 3 3 1 1 3 3 1 1 1 1 3 3 2 2 1 1 1 1 3 3 1 1 1
2 2 1 3 3 3 1 3 1 3 1 3 1 3 1 2 1 2 1 3 1 3 1 2 1
1 2 3 3 3 3 1 1 1 1 3 3 3 3 2 2 1 1 1 1 3 3 1 1 1
1 2 1 3 3 3 1 3 1 3 1 3 1 3 1 2 1 2 1 3 1 3 1 1 3
1 2 3 3 1 3 1 3 1 1 1 3 3 3 2 2 1 1 1 1 3 3 1 1 1
2 2 3 3 1 3 1 3 1 1 1 3 3 3 2 2 1 1 1 1 3 3 1 1 1
1 2 3 3 1 3 1 3 1 1 1 3 3 3 2 2 1 1 1 1 3 3 1 1 1
2 2 3 3 1 3 1 3 1 1 1 3 3 3 2 2 1 1 1 1 3 3 1 1 1
1 1 3 3 3 3 1 1 1 1 3 3 3 3 2 2 1 1 1 1 3 3 1 1 3
我已经尝试了 paste -d " " file1 file2 > output
和 paste file file2 | sed 's/\t/ /' > file3
但由于某些原因没有这样做。我在输出中只得到 file2 的内容。
期望的输出是:
1 101 0 0 0 -9 2 2 1 3 1 3 3 3 1 3 1 1 1 3 1 2 1 2 1 3 1 3 1 2 1
1 102 0 0 0 -9 1 2 3 3 1 1 3 3 1 1 1 1 3 3 2 2 1 1 1 1 3 3 1 1 1
1 103 0 0 0 -9 2 2 1 3 3 3 1 3 1 3 1 3 1 3 1 2 1 2 1 3 1 3 1 2 1
1 104 0 0 0 -9 1 2 3 3 3 3 1 1 1 1 3 3 3 3 2 2 1 1 1 1 3 3 1 1 1
1 105 0 0 0 -9 1 2 1 3 3 3 1 3 1 3 1 3 1 3 1 2 1 2 1 3 1 3 1 1 3
1 106 0 0 0 -9 1 2 3 3 1 3 1 3 1 1 1 3 3 3 2 2 1 1 1 1 3 3 1 1 1
1 107 0 0 0 -9 2 2 3 3 1 3 1 3 1 1 1 3 3 3 2 2 1 1 1 1 3 3 1 1 1
1 108 0 0 0 -9 1 2 3 3 1 3 1 3 1 1 1 3 3 3 2 2 1 1 1 1 3 3 1 1 1
1 109 0 0 0 -9 2 2 3 3 1 3 1 3 1 1 1 3 3 3 2 2 1 1 1 1 3 3 1 1 1
1 110 0 0 0 -9 1 1 3 3 3 3 1 1 1 1 3 3 3 3 2 2 1 1 1 1 3 3 1 1 3
请注意,less output
我正在合并两个文件,但它们之间有 ^M
。
非常感谢任何帮助。
file1 有 CRLF 行结尾。使用 dos2unix
删除 CR 并获得预期的输出。