如何使用批处理文件在文本文件中搜索和替换ASCII控制字符

时间:2014-02-11 14:44:06

标签: batch-file

我有一个文本文件,它分别使用File Separator和Record Separator Ascii控制字符作为回车符和冒号。

我想创建一个批处理文件来搜索和替换ascii文件分隔符(1C)的所有实例,并将其替换为标准回车符号(0D)。

我搜索过并找到了与此相近的脚本(例如查找和替换可打印的ascii字符),但没有找到和替换ascii字符的内容。

1 个答案:

答案 0 :(得分:1)

一个好的选择是支持正则表达式搜索和替换的任何实用程序。有各种免费的Windows端口sed和awk应该可以工作。

我写过REPL.BAT - a hybrid JScript/batch utility that performs a regex search and replace on stdin and writes the result to stdout。该实用程序是纯脚本,可​​以在XP之后的任何现代Windows机器上本机运行。完整的文档嵌入在脚本中。

假设REPL.BAT位于当前目录中,或者更好,位于PATH中的某个位置,那么解决方案非常简单:

type yourFile.txt | repl \x1C \x0D x >yourFile.txt.new
move /y yourFile.txt.new yourFile.txt >nul