我想在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
答案 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