如何使用批处理脚本组合两个文本文件

时间:2015-05-07 19:55:41

标签: string parsing command-line

如何删除字符串并使用批处理脚本替换文本文件中的内容。

的test.txt

Version: 4.5.0
Import:
   //MPackages/Project/config/abc.txt                       #head
   //Packages/Project/config/cde.txt                        #head
View: 24234
  //MPackages/Project/config/ac.txt                     #head

删除"导入:"之间找到的任何文字。和"查看:"并将其替换为示例文本文件中的内容..

sample.txt的

1
2
3

所需的输出

Version: 4.5.0
Import:
   1
   2
   3
View: 24234
   //MPackages/Project/config/ac.txt                     #head

1 个答案:

答案 0 :(得分:1)

您可以使用纯批次执行此操作,但强大的解决方案实际上非常复杂。我几乎放弃了使用纯批处理进行文本处理。

相反,我使用JREPL.BAT - 一个混合的JScript /批处理正则表达式文本处理器,可以在XP以后的任何Windows机器上本机运行。

以下一个内核在命令行和批处理脚本中都可以正常工作。它假定“导入:”和“视图:”仅出现一次。

jrepl "^" "   " /f sample.txt | jrepl "^(Import:)[\s\S]*?(^View:)" "$1+'\r\n'+stdin.ReadAll()+$2" /j /m /f test.txt /o output.txt