我有n行文件,包含一行,并希望将它们连接起来:
输入文件:
file_1
A B C
file_2
1 2 3
所需的控制台输出结果:
A B C
1 2 3
但是:
$ cat file_1 file_2
我:
A B C1 2 3
答案 0 :(得分:4)
尝试
echo | cat file_1 - file_2
或者,使用换行符号终止file_1的最后一行。
另一种方式:
$ echo > n
$ cat file_1 n file_2 n file_1 n file_2 n
A B C
1 2 3
A B C
1 2 3
答案 1 :(得分:2)
如果您有两个以上的文件,可以使用shell循环并使用echo
插入一个新行:
for f in file1 file2 file3; do cat "$f"; echo; done > output
答案 2 :(得分:0)
如果您只有两个文件,可以使用echo
输出一个新行并将其放在两个文件之间,如下所示:
echo | cat file1 - file2
答案 3 :(得分:0)
以下是我在 Ubuntu 12.04 上使用bash
shell观察到的内容。
$ echo "1 2 3" > file1
$ echo "a b c" > file2
$ cat file1 file2
1 2 3
a b c
分开不同的行。
看起来echo
命令确保将正确终止的字符串写入两个文件。
答案 4 :(得分:0)
您的file1
在结尾处缺少换行符。因此,当您cat
时,我们不会打印换行符以将file1
与file2
分开。
您需要修改file1
以包含尾随换行符或以其他方式插入。