데이터베이스의 레코드가 들어있는 큰 데이터 파일 (텍스트)이 있습니다. 각 레코드는 "-"(146 개)로 구분됩니다. 각 블록 구분자 사이의 텍스트를 해당 블록의 데이터를 기반으로 새 파일에 쓰고 싶습니다. 이 블록을 추출하고 작성해야하는 위 그래서파일에서 텍스트 블록을 추출하고 perl을 사용하여 각 블록을 새 파일에 쓰지만 작동하지 않습니다.
1. 12/18/17
Company
PAGE 2
1:14 PM GET CURRENTLY SELECTED DEBTORS
------------------------------------------------------------------------------------------------------------------------
----------------------------- STATUS **Acct:1234** Disposition:9000 CANCEL Wait: 04/11/17
DEBTOR Name:Doe John
Ssn:123456789 Cbr: Ph:555-555-555
Rp:Doe John Ssn: Rp Ph:
Adr1:211 some road POE: Lgl: POE Ph:
City:anytown Cty: Canc:UNC Born:01/01/1937
St: VA Zip:54321 St: Zip: COF:N Sal:
Clnt:00248 Someplace, 93076 Org: 4
80.00
List:01/05/17 Srv:08/25/16 Pl95: Time:9 Calls:0 Con:0 Bal: 480.00
Co-Maker's Previous Address Spouse's Previous Address MULTIPLE
ACCOUNTS RM# Acct Name/Client Chk#/Lst Srv Lpy
Col Disp Bal Check Reason Drivers Licen se #
PRN INT LI3 LI4 AIN CC ATY MS1 PJI 1 142424* Doe John
93076/00248/Somewhere 01/05/17 08/25/16 0 9000
480.00
480.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
2. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
: 새로운 파일 이름은이 샘플 파일을 예를 들어 일 년 (예 : 2017)
를 데이터의 조각을 따라 포함해야 해당 레코드에 대한 Acct : 1234 데이터를 기반으로 1234_2017.txt라는 새 파일로 이동 한 다음 다음 블록으로 이동하십시오. 첫 번째 파일의 레코드 수를 754 개로 계산했으며 총 10 개의 파일이 있습니다.
#!/usr/bin/perl -w
use strict;
use warnings;
use POSIX 'strftime';
my $filename = "Facs_Data.txt";
my $outfile = "Acct_".strftime '%Y', localtime;
my $start = "'-' x 146";
open (INFILE, "<$filename"); open (OUTFILE, ">$outfile");
while ($start) {
print $outfile;
next
}
close (INFILE);
close (OUTFILE);
모든 의견을 크게 환영합니다.
무엇을 시도 했습니까? 어떤 문제가 있습니까? 코드와 샘플 데이터를 보여주십시오. 코드가 없으면 Stack Overflow가 질문에 가장 적합한 장소가 아닐 수도 있습니다. –
http://idownvotedbecau.se/nocode/ –
인터넷에 요구 사항을 게시하고 다른 사람이 귀하를 대신하여 코드를 작성하기를 기다리는 경우 컴퓨터 프로그래밍이 이루어지지 않습니다. – Borodin