在没有cat的bash中将文件附加到文件

neb*_*uch 1 bash file append

使用以下命令将现有文件附加到另一个文件很容易cat:cat file1 >> file2

有时我读过人们写的内容," cat除非你连接两个文件,否则不要使用." 这是明智的.如果它只采用一个论证,那就不需要猫:cat file | xargs program更糟糕的是xargs program < file.

那么如何在没有cat的情况下将文件附加到另一个文件?既不工作< file1 >> file2也不>> file2 < file1工作.如果我必须召集一个程序来做这件事,那么正统的做法是什么?

che*_*ner 5

正统的用法cat."无用的使用cat"涉及使用cat来读取单个文件的内容并将它们传输到另一个程序,这个程序可以使用输入重定向直接从文件中读取.在这里,cat正在做所有的阅读写作; 没有任何更简单的东西可以替换它,因为bash它没有提供从标准输入读取写入标准输出的内置.

  • `awk file` 与 `cat` 基本相同。如果一个合适,另一个也合适。如果一个不合适,另一个也不合适。目标不是特别避免`cat`,而是*任何*可以被简单输入重定向替换的外部进程。(`awk` 的一些实现可能至少需要一个模式或一个动作,例如 `awk 1 file` 或 `awk '{print}' file`。) (2认同)