2016-01-13 54 views
0

我有困難的編寫代碼來拆分是這樣的一個大的文本文件:如何將某個特定點的大文件分割成更小的文件?

#Article: 
ABC 
DEF 
#Article: 
GHJ 
KDJD 

我想將拆分開始#Article塊的文件並保存在文本文件中每個塊命名輸出1output2,等等。

因此,舉例來說:

#Article: 
ABC 
DEF 

將被保存在名爲output1.txt的文本文件。

+1

歡迎[所以]。由於您在這裏相當新,請參加[參觀]並學習[提問]很好的問題。作爲一般規則,大多數人不會傾向於試圖幫助你,除非你自己解決問題的時候表現出一些微不足道的努力。 –

回答

-1

每當遇到標題時,只需重新打開輸出句柄。作爲一襯墊:

perl -pe' 
    if ($_ eq "#Article:\n") { 
     open(STDOUT, ">", sprintf("output%d.txt", ++$count)) 
     or die $!; 
    } 
' 

用法:

perl -pe'...' input.txt  # Read from file(s) provided as arguments. 
perl -pe'...' <input.txt # Read from STDIN. 
相關問題