我需要從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