如何在linux中垂直捕获文件?

时间:2013-08-01 14:15:38

标签: linux cat

我有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 

5 个答案:

答案 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时,我们不会打印换行符以将file1file2分开。

您需要修改file1以包含尾随换行符或以其他方式插入。