使用cat合并两个文件而不使用新行

goo*_*ing 13 linux shell

我想合并两个文件cat file1 file2 > file3.但它从新线开始.我不希望这样.我可以使用tr将所有新行替换为空格,但我不能这样做,因为文件中有新行我不想替换.

cho*_*own 21

您可以使用headwith -1作为-cflags参数和-q

head -c -1 -q file1 file2 > file3
Run Code Online (Sandbox Code Playgroud)

head -c -1将输出所有内容直到代码的最后1个字节(在这种情况下,最后1个字节 - 结束 - 不包括在内).该-q是这样的文件名没有得到通过管道输送到file3head时的默认操作head荷兰国际集团多个文件.


或者,正如这个答案所建议的那样 - 将多个文件内容添加到没有换行符的单个字符串中 ,将其传递给tr:

tr -d "\n"
Run Code Online (Sandbox Code Playgroud)