gpt4 book ai didi

shell - 在文件中查找并替换并覆盖文件不起作用,它会清空文件

转载 作者:行者123 更新时间:2023-12-03 03:54:01 24 4
gpt4 key购买 nike

我想通过命令行对 HTML 文件运行查找和替换。

我的命令看起来像这样:

sed -e s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html > index.html

当我运行此文件并随后查看该文件时,它是空的。它删除了我文件的内容。

当我再次恢复文件后运行此命令时:

sed -e s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html

stdout是文件内容,查找和替换已经执行。

为什么会发生这种情况?

最佳答案

shell在命令行中看到>index.html时,它会打开文件index.html进行写入,删除其之前的所有内容。

要解决此问题,您需要将 -i 选项传递给 sed 以进行内联更改,并在进行更改之前创建原始文件的备份 -地点:

sed -i.bak s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html

如果没有 .bak,该命令将在某些平台上失败,例如 Mac OSX。

关于shell - 在文件中查找并替换并覆盖文件不起作用,它会清空文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5171901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com