首页 > 解决方案 > 使用 bash 增加 .txt 文件中的变量

问题描述

我正在尝试更改 .txt 文件中的变量,但我不知道如何。我在互联网上查看并尝试了写的内容,但它不起作用。我收到以下错误消息:

sed: 1: "abc.txt": 命令 a 需要 \ 后跟文本

这是我最初尝试运行的内容:

sed -i 's/Hi/Good Morning/' abc.txt

标签: bashsed

解决方案


检查您的手册页以获取 sed。-i可能需要一个后缀参数。

-i 扩展

就地编辑文件,以指定的扩展名保存备份。如果给出零长度扩展名,则不会保存备份。不建议在就地编辑文件时提供零长度扩展名,因为在磁盘空间耗尽等情况下,您可能会面临损坏或部分内容的风险。

发生的事情是 sed 被认为是 sed's/Hi/Good Morning/'的参数-i,然后考虑abc.txt成为 sed 命令本身。

通过向命令添加适当的备份扩展,它将像这样工作:

$ cat abc.txt
Hi, How are you

$ sed -i .bak 's/Hi/Good Morning/' abc.txt

$ cat abc.txt
Good Morning, How are you

$ cat abc.txt.bak
Hi, How are you

推荐阅读