Scripting 如何编写替换多行唯一文本的脚本?

Scripting 如何编写替换多行唯一文本的脚本?,scripting,Scripting,我运行一个服务器,当我更新时,我必须重新配置它们各自源文件中的所有提示。为了使服务器在每次更新时都能正常工作,我最终不得不重新配置几百行(如果不是超过1000行的话)。更新需要将近三天的时间,其中两天就是用来更新的 我正在寻找一种方法来替换(例如)第30行上的“godmodemsg:youhavegodded.”和其他几行不同的内容:“godmodemsg:yourforcefield now active”。我需要它能够取代它,如果线,说,改变到第53行以及。大部分操作都是在普通文本文件中完成

我运行一个服务器,当我更新时,我必须重新配置它们各自源文件中的所有提示。为了使服务器在每次更新时都能正常工作,我最终不得不重新配置几百行(如果不是超过1000行的话)。更新需要将近三天的时间,其中两天就是用来更新的


我正在寻找一种方法来替换(例如)第30行上的“godmodemsg:youhavegodded.”和其他几行不同的内容:“godmodemsg:yourforcefield now active”。我需要它能够取代它,如果线,说,改变到第53行以及。大部分操作都是在普通文本文件中完成的。如何执行此操作?

如果您的sed版本不支持-I(就地)选项,则必须将输出重定向到临时文件,然后从临时文件执行mv到原始文件。请小心,您应该首先对临时文件进行cat,以检查替换的结果是否符合预期。

欢迎使用StackOverflow!关于推荐工具或库的问题与SO无关,可能会被关闭。然而,听起来您只需要在所使用的任何编译器中使用find-replace方法。
sed -i -e 's/You have been godded./Your forcefield is now active/g' /dir/yourfile.txt