我需要从2个分隔符之间的文件中提取文本,并将其复制到TXT文件中。此文本看起来像XML代码,而不是分隔符<string> text... </string>
,我有:::SOURCE text .... ::::SOURCE
。正如你在第一个分隔符中看到的是':'的3倍,而在第二个是':'的4倍。批处理 - 使用分隔符从文件中提取文本
最重要的是在这两个分隔符之间有多行。文本的
实施例:
texttexttexttexttexttexttexttexttext
texttexttexttext
:::SOURCE
just this text
just this text
just this text
just this text
...
just this text
::::SOURCE texttext
texttexttext
希望的输出:
just this text
just this text
just this text
just this text
...
just this text
如果你的目标是凑一个日志文件,注意,批量处理大量的日志文件是无效的,即使使用有效的方法在批处理脚本中。您将从流读取器获得更好的性能,例如[GNU'awk'](http://gnuwin32.sourceforge.net/packages/gawk.htm)。请看看[我过去的挣扎](http://stackoverflow.com/questions/15628017/),所以你不会注定要重复它们。我很确定我已经经历了你现在正在经历的事情。 – rojo
@ rojo ca请你提交这个例子的GNU版本? – Andy
你实际上可以用一个班轮来完成,而不需要脚本。 'awk“/^::: SOURCE/{flag = 1; next}/^ :::: SOURCE/{flag = 0}标记”txtfile.txt“会执行此操作。 ([信贷到这篇文章](http://stackoverflow.com/a/17988834/1683264)) – rojo