我想通过命令行在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是文件的内容,并且已经执行了查找和替换。
为什么会这样?
尽管对上面的正确答案表示尊重,但像那样“演练”脚本总是一个好主意,这样就不会破坏文件,而不得不从头开始。
让你的脚本将输出溢出到命令行,而不是写入文件,例如,像这样:
sed -e s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html
OR
less index.html | sed -e s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g
通过这种方式,您可以查看和检查命令的输出,而不会截断文件。
尽管对上面的正确答案表示尊重,但像那样“演练”脚本总是一个好主意,这样就不会破坏文件,而不得不从头开始。
让你的脚本将输出溢出到命令行,而不是写入文件,例如,像这样:
sed -e s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html
OR
less index.html | sed -e s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g
通过这种方式,您可以查看和检查命令的输出,而不会截断文件。