从命令行将文本附加到文件而不使用 io 重定向

新手上路,请多包涵

我们如何在不使用 io 重定向的情况下通过单行命令将文本附加到文件中?

原文由 apoorv020 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 548
2 个回答

如果你不介意使用 sed 那么,

$猫测试
这是第 1 行
$ sed -i '$ a\this is line 2 without redirect' 测试
$猫测试
这是第 1 行
这是没有重定向的第 2 行

由于文档可能有点长,所以一些解释:

  • -i 表示就地转换,因此所有更改都将发生在您指定的文件中
  • $ 用于指定最后一行
  • a 表示在后面追加一行
  • \ 只是用作分隔符

原文由 taskinoor 发布,翻译遵循 CC BY-SA 3.0 许可协议

您可以使用 --append tee

 cat file01.txt | tee --append bothFiles.txt
cat file02.txt | tee --append bothFiles.txt

或者更短,

 cat file01.txt file02.txt | tee --append bothFiles.txt

我假设不重定向请求( >> )来自需要在 xargs 或类似中使用它。因此,如果这不算数,您可以使用 >/dev/null 使输出静音。

原文由 Ondra Žižka 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题