使用cat命令连接文件

时间:2013-11-09 12:08:59

标签: linux unix

我是unix的新手,我在使用cat命令时正在使用命令,我发现了意外的输出。

我有。

test and the content of test is
line 1
test2 and the content of test2 is
line 2

这就是我输入的内容。

cat test2>>test>test3

结果是

line 2

所以我的问题是为什么它不是

line 1
line 2

这段代码不应该与test2连接测试并将它们添加到test3中吗?

3 个答案:

答案 0 :(得分:2)

当您多次重定向程序的标准输出流时,如

cat test2 >>test >test3

重定向按照您编写的顺序设置。在这种情况下,shell会在附加模式下打开test并将其设置为cat的标准输出。然后它以覆盖模式打开test3并将其设置为标准输出,覆盖先前的重定向。

如果可以打开test,则整个命令的净效果与:

相同
cat test2 >test3

也就是说,line 2被写入test3。如果要将test和test2连接到test3,则应使用:

cat test test2 >test3

或分两步完成:

cat test2 >>test
cat test >test3

答案 1 :(得分:0)

您可以尝试这样: -

cat test1.txt test2.txt > test3.txt

同时检查What is Linux cat Command?

如果您想查看Cat命令的工作原理,可以查看tutorial

  

使用>>确保保留任何先前的bigcats内容。该   豹的内容附加到bigcats。如果你要使用>   运营商在这里,你会用。替换bigcats的内容   豹的内容。始终使用>>当你想加到最后   现有文件。

答案 2 :(得分:0)

试试这个并申请你的:

file1
Hello

file2
Goodbye

cat file1 file2 > fileresult

fileresult
Hello
Goodbye