2013-10-26 2 views
0

일련의 txt 파일을 각각 2 개로 분할하려고합니다. 아래 파일 중 하나입니다. 첫 번째 새 파일에는 "올바른 사용권 개정"전의 모든 내용이 들어 있어야합니다. 두 번째 파일은이 모든 문자열과이 문자열을 포함합니다.txt가 박쥐 파일을 사용하여 분할 됨

내가 배워야 할 트릭은 결과 파일을 csv로 구분하는 길이를 고정하는 방법입니다.

미리 감사드립니다.

파일 예 :

       ENERGY RESOURCES CONSERVATION BOARD         

           WELL LICENCES ISSUED DAILY LIST          



DATE: 04 January 2010                    


--------------------------------------------------------------------------------------------   
WELL NAME    LICENCE NUMBER   MINERAL RIGHTS  GROUND ELEVATION     
UNIQUE IDENTIFIER  SURFACE CO-ORDINATES BOARD FIELD CENTRE PROJECTED DEPTH     
LAHEE CLASSIFICATION FIELD          TERMINATING ZONE     
DRILLING OPERATION  WELL PURPOSE   WELL TYPE   SUBSTANCE      
LICENSEE               SURFACE LOCATION     
--------------------------------------------------------------------------------------------   

SUNCOR ET AL MEDHAT 9-17-15-4  0416613 ALBERTA CROWN  753.3M       
100/09-17-015-04W4/00 S 543.4M W 167.6M MEDICINE HAT   656.8M       
DEV (NC)        MEDICINE HAT     FISH SCALE ZONE     
VERTICAL        NEW  PRODUCTION   GAS        
SUNCOR ENERGY INC.     

AMENDMENTS OF WELL LICENCES 
--------------------------- 

WELL NAME AND U.I.D.    LICENCE NO. AMENDED TO READ 
--------------------    ----------- --------------- 

PARA ET AL HZ RE VALHALLA 4-34-75-11 0358541 TARGET SUBSTANCE(1)         
100/04-34-075-11W6/02       GAS FROM MONTNEY FM         

SHPACIFIC OV MCKAY 2-17-91-14   0416002 TERMINATING ZONE:         
1AA/02-17-091-14W4/00       WOODBEND GRP          

WELL LICENCES CANCELLED 
----------------------- 

WELL NAME AND U.I.D.    LICENCE NO.              
--------------------    -----------              

QRCI ET AL THREEHCK 14-19-36-26  0404101              
100/14-19-036-26W4/00                    

ARC ETAL 102 PEMBINA 15-34-48-8  0407157              
100/15-34-048-08W5/00                    


-------------------- END OF WELL LICENCES DAILY LIST -------------------- 
+0

,이 숙제 물어 죄송? 지금까지 해본 것을 공유하십시오. –

+0

이것은 약간의 취미 프로젝트입니다. 그래서 단어의 전통적인 의미에서 숙제가 아닙니다. 머리글을 제거하는 방법을 알아 냈습니다. 나는 일련의 작업을 위해 하나의 cmd 파일을 재사용 할 수 있도록 파일의 이름을 바꾸는 방법을 알고 있으며 여러 개의 CSV를 결합하는 방법을 알아 냈습니다. 이 시점에서 나는 모든 데이터베이스에 결과를 가져올 수 있도록 하나의 CSV를 얻기 위해 cmd로 처리하도록 선출했습니다. – user2738826

답변

3

순수한 배치 함께 :

@ECHO OFF &SETLOCAL 
for /f "delims=[]" %%a in ('^<file.txt find /n "AMENDMENTS OF WELL LICENCES"') do set "LineFound=%%a" 
echo "AMENDMENTS OF WELL LICENCES" found in line #%LineFound%. 
set /a LineFound-=1 
SETLOCAL ENABLEDELAYEDEXPANSION 
<file.txt (
for /l %%a in (1,1,%LineFound%) do (
    set "Line=" 
    set/p "Line=" 
    echo(!Line! 
))>file1.txt 
endlocal 
<file>file2.txt more +%LineFound% 
type file?.txt 
+0

감사합니다. Endoro는 훌륭하게 작동합니다. – user2738826

2

이 추가 도구를로드하지 않고 강력한 방법이며,에서 findrepl.bat라는 도우미 배치 파일 사용 - 배치 파일과 같은 폴더에 https://www.dropbox.com/s/rfdldmcb6vwi9xc/findrepl.bat

장소 findrepl.bat을.

입력 파일이 file.txt

type file.txt | findrepl "." /e:"AMENDMENTS OF WELL LICENCES" /o:-1:-1 >file1.txt 
type file.txt | findrepl /v "." /e:"AMENDMENTS OF WELL LICENCES" /o:-1:-1 >file2.txt 
관련 문제