텍스트 파일 아래에서 15 간격 후에 6, 7, 8 및 13 번째 라인을 읽으려고합니다.6,7,8,13 라인을 선택하고 perl을 사용하여 단일 라인으로 병합
REPORT ID : XZ-12 ABC SERVICES COMPANY RUN DATE: 08/05/2014
PROGRAM : XYZ SYSTEM PAGE: 0001
BUSINESS DAY : 08/04/14 MONTHLY REPORT TIME: 06:28:35
NAME : FUND11
SRC NUMBER : 3978
JOB CODE : 80
ABC DEF RISK AZ FUND ASZ ADS
FEE FEE FEE FEE FEE FEE
================== ================== ================== ================== ================== ==================
0.00 0.00 0.00 0.00 0.00 141.00
DATE: 08/05/2014
REPORT ID : XZ-12 ABC SERVICES COMPANY RUN DATE: 08/05/2014
PROGRAM : XYZ SYSTEM PAGE: 0002
BUSINESS DAY : 08/04/14 MONTHLY REPORT TIME: 06:28:35
NAME : FUND12
SRC NUMBER : 4027
JOB CODE : 82
ABC DEF RISK AZ FUND ASZ ADS
FEE FEE FEE FEE FEE FEE
================== ================== ================== ================== ================== ==================
0.00 0.00 0.00 0.00 0.00 136.64
DATE: 08/05/2014
REPORT ID : XZ-12 ABC SERVICES COMPANY RUN DATE: 08/05/2014
PROGRAM : XYZ SYSTEM PAGE: 0003
BUSINESS DAY : 08/04/14 MONTHLY REPORT TIME: 06:28:35
NAME : FUND13
SRC NUMBER : 4193
JOB CODE : 90
ABC DEF RISK AZ FUND ASZ ADS
FEE FEE FEE FEE FEE FEE
================== ================== ================== ================== ================== ==================
0.00 0.00 0.00 0.00 0.00 116.64
DATE: 08/05/2014
아래의 Perl 스크립트를 사용하여 시도했지만 회선 만 가져올 수있었습니다. 이제 선을 병합하고 싶습니다. 내 스크립트 :
#!/usr/bin/perl
use strict;
use warnings;
my $fn = shift || "testf1";
open(my $fh, "<", $fn) or die "Could not open file '$fn' : $!\n";
while (<$fh>)
{
print ((6 == $. % 15) ? $_ : "");
print ((7 == $. % 15) ? $_ : "");
print ((8 == $. % 15) ? $_ : "");
print ((13 == $. % 15) ? $_ : "");
}
close ($fh);
그리고 출력 아래에 있어요 :
NAME : FUND11
SRC NUMBER : 3978
JOB CODE : 80
0.00 0.00 0.00 0.00 0.00 141.00
NAME : FUND12
SRC NUMBER : 4027
JOB CODE : 82
0.00 0.00 0.00 0.00 0.00 136.64
NAME : XYZ12
SRC NUMBER : 4193
JOB CODE : 90
0.00 0.00 0.00 0.00 0.00 116.64
하지만 출력으로 사용할 :
FUND11 3978 80 0.00 0.00 0.00 0.00 0.00 141.00
FUND12 4027 82 0.00 0.00 0.00 0.00 0.00 136.64
FUND13 4193 90 0.00 0.00 0.00 0.00 0.00 116.64
제안하십시오.
감사합니다 ..
이 보이는, 당신은 그냥 당신이 원하는 방식으로 포맷해야합니다. –