2014-10-28 67 views
0

我有一個包含近千個html文件的目錄。每個文件都需要根據循環模式(標題)分成多個文本文件。我在一臺Windows機器上使用GnuWin32工具。使用模式分割一批文本文件

我已經找到一種方法來做到這一點,單個文件:

csplit 1.html -b "%04d.txt" /"Words in heading"/ {*} 

但我不知道如何在整個一系列的HTML文件重複此操作。這樣的:在一個無效的模式錯誤

for %i in (*.html) do csplit *.html -b "%04d.txt" /"Words in heading"/ {*} 

兩個結果:

csplit *.html -b "%04d.txt" /"Words in heading"/ {*} 

不工作,也不這樣做了。幫助將非常感謝!

回答

1

選項/參數順序對於csplit很重要。它不會接受多個文件。它幫助你到達那裏:

% csplit --help 
Usage: csplit [OPTION]... FILE PATTERN... 

我很驚訝你的第一個例子適用於單個文件。這真的應改爲:

% csplit -b "%04d.txt" 1.html "/Words in heading/" "{*}" 
      ^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ 
      OPTS/ARGS  FILE PATTERNS 

還請注意,我改變了你的報價是周圍的參數。您可能還需要引用最後的"{*}"

我不確定你使用的是什麼shell,但是如果for-loop語法合適,那麼fixed命令應該在循環中工作。

+0

@aquadhere這個答案解決了你的問題嗎?如果是這樣,請將其標記爲已接受,以便其他人可以看到它適用於此案例。 – 2015-08-14 16:23:12