如何替换文本文件中的字符串

时间:2014-04-03 02:54:56

标签: batch-file

我想在duepayment.txt文件中将01天字符串替换为25(大约2500行)。例如,将08012014更改为08252014(mmddyyyy)而不更改包含“01”的任何其他文本。

原始duepayment.txt文件;

001-01      NSW       08012014    
001-02      VIC       01012015  

结果desired.txt

001-01      NSW       08252014    
001-02      VIC       01252015  

1 个答案:

答案 0 :(得分:0)

如果您使用支持正则表达式搜索和替换的工具,则解决方案非常简单。

一个很好的选择是我的REPL.BAT utility - 一个混合的JScript /批处理脚本,它在stdin上执行正则表达式搜索和替换,并将结果写入stdout。它是纯脚本,可​​以在XP前面的任何现代Windows机器上本机运行。完整的文档嵌入在脚本中。

下面的正则表达式查找以空格,2位,01,4位数字结尾的行,然后是可选的空格。它保留括号内的值(由$ 1和$ 2表示),并用25代替01。

type duepayment.txt | repl "(\s\d\d)01(\d{4}\s*)$" "$125$2" >desired.txt
相关问题