0

一連のtxtファイルをそれぞれ2つに分割しようとしています。以下はファイルの 1 つです。最初の新しいファイルには、「AMENDMENTS OF WELL LICENCES」より前のすべてが含まれている必要があります。2 番目のファイルは、この文字列を含む、この後のすべてです。

私が学びたい次のトリックは、結果のファイルを 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  -------------------- 
4

2 に答える 2

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
于 2013-10-26T08:13:54.343 に答える
2

これは、追加のツールをロードしない堅牢な方法であり、 https://www.dropbox.com/s/rfdldmcb6vwi9xc/findrepl.batfindrepl.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
于 2013-10-26T07:30:50.487 に答える