使用bash在.txt文件中增加变量

时间:2018-09-15 14:22:35

标签: bash sed

我正在尝试更改.txt文件中的变量,但我不知道怎么做。我看了一下互联网,尝试写了什么,但是没有用。我收到以下错误消息:

  

sed:1:“ abc.txt”:命令a期望\后跟文本

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

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

1 个答案:

答案 0 :(得分:1)

检查您的手册页中是否有sed。 -i可能需要一个后缀参数。

  

-i扩展名

     

就地编辑文件,保存具有指定扩展名的备份。如果给出零长度的扩展名,                没有备份将被保存。就地编辑时,不建议使用零长度扩展名                文件,因为在磁盘空间用尽等情况下,您有遭受损坏或部分内容的风险。

发生的事情是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