5.3 将文件与其他文件拼接
cat file1 file2 > file3
在上一个例子中,将两个文件拼接起来,并将它们打印到屏幕这个stdout
设备上。但是这可能不是你想要的效果。将两个文件拼接起来,最好还能将新连接的文件保存成另一个可以使用的文件。为此,需要使用第4章中学到的方法,将输出结果由stdout
重定向到一个文件。
$ ls
housman_-_rue.txt quarles_-_the_world.txt
$ cat housman_-_rue.txt quarles_-_the_world.txt > poems.txt$ ls
housman_-_rue.txt poems.txt quarles_-_the_world.txt
现在,你就可以随意使用poems.txt
这个文件了。如果想在这个文件中增加更多短诗,操作起来很容易,如下所示:
$ cat housman_-_one-and-twenty.txt >> poems.txt
注意,这一次使用>>
将新的短诗追加到poems.txt
中。下面的命令不会运行成功:
$ cat housman_-_one-and-twenty.txt poems.txt > poems.txt
如果想把文件和它自身拼接起来,就会看到这个错误消息,解释为什么不能完成请求:
cat: poems.txt: input file is output file