自动替换几个字符串文本?

自动替换几个字符串文本?

更详细:

我有一个文件夹,里面有一款游戏的数据,代码是纯文本且可自定义(MUGEN)。除了所有其他内容之外,每个角色的 *.cns 文件都包含以下文本字符串:

;def file for char
Life = 2334 (could be any number from 100 to 99999) ;default value is 1000
Attack = 123 (could be any number from 1 to 99999) ; 100
Defence = 157 (could be any number from 1 to 99999) ; 100

但是它们的值并没有默认设置为标准值(生命 = 1000、攻击 = 100、防御 = 100),它们非常不平衡,就像游戏上传者弄乱的那样(随机) 通过他的奇怪引用更改它们的值。现在我的问题是我想将它们的所有值重置为默认值,而无需浏览所有 *.cns 文件(数百个,甚至更多)并自己编辑这些行。我该如何有效地做到这一点?

我想要类似“搜索全部”的功能*.cns文件夹中的文件内容,并检测包含“Life = *”“Attack = *”和“Defence =(不区分大小写)并将它们替换为“Life = 1000”,“Attack = 100”......等等,而不关心“=”后面的特定数字)并且尽可能自动化。

我在 Google 上搜索了一下,觉得也许某些高级文本编辑器中的某种正则表达式查找替换方法可以提供帮助,但我不太明白……有人可以帮我一步一步解释一下怎么做吗?非常感谢。

答案1

在 Linux 上(或在 Windows 上使用 cygwin),你可以使用

find . -name '*.cns' 

查找当前目录下所有带有“.cns”扩展名的文件。

您可以使用“sed”来“内联”编辑文件

find . -name '*.cns' -exec \
sed -i~ 's/Life.*/Life = 1000/g;s/Attack.*/Attack = 100/g;s/Defence.*/Defence = 100/g' "{}" \;

相关内容