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

推荐答案

如果你不介意用sed的话,

$ cat test 
this is line 1
$ sed -i '$ a\this is line 2 without redirection' test 
$ cat test 
this is line 1
this is line 2 without redirection

由于文档可能有点长,请给出一些解释:

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

Linux相关问答推荐

在Zenity进度窗口上单击取消后如何停止bash脚本

Postfix 连接到 domain.com[74.208.61.85]:587: 连接被 dovecot、opendkim 和 SSL 拒绝

为什么 liburing 写入性能低于预期?

在 Ansible 中使用 JSON 查询过滤数据以从 ansible_fact 中提取数据

matlab中linux和windows上regexp()的不同行为

使用 awk 将 csv 拆分为带有标题的多个文件

另一个远程的 Git 合并分支

从 .war 文件外部化 Tomcat webapp 配置

Eclipse 的 C# 插件

如何为 Linux 构建 Visual C++ 项目?

在 64 位 Linux 操作系统上编译 32 位程序导致致命错误

通过写入 /dev/input/mice 来控制鼠标

在 C 中设置环境变量

SVN 错误:无法将字符串从本机编码转换为UTF-8

在 mac 上通过 ssh 连接到 amazon aws linux 服务器

从 FTP 服务器下载所有文件

Bash:如何标记字符串变量?

Linux:处理成服务

/dev/random 非常慢?

如何在 Linux 中将 .so 文件添加到 java.library.path