搜索文本字符串并替换一组文本文件中包含该文本字符串的整行(Windows)

搜索文本字符串并替换一组文本文件中包含该文本字符串的整行(Windows)

我正在寻找一种自动化解决方案,它可以在一组文本文件中搜索指定的文本字符串是否在一行上(可能不完全匹配 - 只要指定的文本字符串包含在该行中),并将删除找到文本字符串的整行(或多行)并将其替换为我指定的文本字符串。我使用的是 Windows 7。

原因:我编辑了一个旧策略游戏的 AI 文件(横扫千军)。AI 文件基本上是文本文件,每种地图类型都有不同的 AI 文件。如果我想在所有 AI 文件中进行相同的特定编辑,我必须编辑大量文本文件。

答案1

记事本++,http://notepad-plus-plus.org/(也可作为便携式应用程序使用),将使用正则表达式对当前目录和所有子目录中的文件进行搜索和替换,在搜索菜单中转到替换,然后单击“在文件中查找”选项卡,选择“正则表达式”搜索模式类型“^。你的字符串。在搜索字段中输入“$”,在“替换为”字段中输入“your_new_string”。

最好先测试一下。

答案2

您可以sed在 Windows 中使用。其中一个来源是操作系统. 典型的命令可能如下所示:

sed '/search pattern/s/^.*$/This is the new text/' file*.txt

其含义是“在每个包含文本“搜索模式”的文件(名为 file[something].txt)的每一行上,将整行替换为“这是新文本”。

可以使用正则表达式和其他命令执行更复杂的操作。

答案3

自动识别可以轻松做到这一点。你可以看看这个帖子我写了一个与你所需类似的示例。我提供的源代码只需稍作调整即可满足你的需求,并且可以一次完成所有文件。

相关内容