我正在尝试更改.txt文件中的变量,但我不知道怎么做。我看了一下互联网,尝试写了什么,但是没有用。我收到以下错误消息:
sed:1:“ abc.txt”:命令a期望\后跟文本
这是我最初尝试运行的内容:
sed -i 's/Hi/Good Morning/' abc.txt
答案 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