2016-03-02 121 views
0

我有一個由字符串/掃描分隔的數據塊(每段16行)的文本(XML)文件。我需要將每個第5塊數據(包括前面的/掃描字符串)複製到一個新文件中,從而將我的一個文本文件轉換爲5個新文件,其中每個文件包含1/5數據。我有各種可用的語言(Linux,Python,R等),我可以選擇。例如,給定文本:如何將文本塊定期從一個文本文件複製到另一個文本文件

/掃描

chunk 1 

/掃描

chunk 2 

/掃描

chunk 3 

/掃描

chunk 4 

/掃描

chunk 5 

/掃描

chunk 6 

/掃描

chunk 7 

/掃描

chunk 8 

/掃描

chunk 9 

/掃描

chunk 10 

生成的文件將包含:

文件1:

/掃描

chunk 1 

/掃描

chunk 6 

文件2:

/掃描

chunk 2 

/掃描

chunk 7 

文件3:

/掃描

chunk 3 

/scan

chunk 8 

...等等。

回答

0
@ECHO Off 
SETLOCAL ENABLEDELAYEDEXPANSION 
SET "sourcedir=U:\sourcedir" 
SET "destdir=U:\destdir" 
SET "filename1=%sourcedir%\q35757136.txt" 
SET "outfile=%destdir%\q35757136_out" 
SET /a outfiles=5 
SET /a outnum=0 
:: delete existing output files 
FOR /L %%a IN (1,1,%outfiles%) DO DEL "%outfile%%%a.txt" >NUL 2>nul 
FOR /f "usebackqdelims=" %%a IN ("%filename1%") DO (
IF "%%a"=="/scan" SET /a outnum=1+(outnum %% %outfiles%^) 
>>"%outfile%!outnum!" ECHO(%%a 
) 

GOTO :EOF 

你需要改變的sourcedirdestdir設置以適合你的情況。

我用了一個名爲q35757136.txt的文件來存放我的測試數據。

可生產定義爲%OUTFILE%+ aNumber的的.txt

對於輸入的每一行中的文件,看看它是否是關鍵字符串。如果是,則增加輸出文件選擇器。

將每行重現到選定的輸出文件。

假設OP知道批處理字符串處理的缺點。

相關問題