我是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中吗?
答案 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