BEGIN_FILE FORMAT_VERSION,2 AGENCY,HI1 FILENAME,...
BEGIN_GROUP VARIABLE,CO DATA_TYPE,POINT MEASUREMENT_TYPE,...
2 BEGIN_DATA
KA5,150030010,0.2,0.2,0.2,0.2,0.2,0.2,-999,0.2,0.2,0.2,...
KA5,150030010,G,G,G,G,G,G,B,G,G,G,G,G,G,G,G,G,G,G,G,G,G,...
DH1,150031001,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.6,0.6,0.5,0.5,...
DH1,150031001,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,...
END_DATA
END_GROUP
BEGIN_GROUP VARIABLE,PM2.5 DATA_TYPE,POINT MEASUREMENT_TYPE,...
10 BEGIN_DATA
KA5,150030010,0,0,0,0,2,1,0,0,0,3,1,0,1,1,0,5,3,2,3,0,-999,0,0,4
KA5,150030010,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,B,G,G,G
OV20,150012020,17,17,18,11,11,6,6,16,9,8,10,13,11,8,7,5,6,6,...
OV20,150012020,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G
DH1,150031001,5,5,3,1,1,4,4,2,2,3,2,1,3,4,3,2,2,5,4,4,5,4,3,2
DH1,150031001,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G
PA16,150012016,8,11,7,6,10,8,6,4,5,6,6,5,3,6,6,3,4,4,6,8,6,6,8,8
PA16,150012016,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G
MV17,150012017,1,5,3,0,2,1,1,1,4,6,6,4,2,2,4,3,2,1,1,2,3,2,0,0
MV17,150012017,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G
HL11,150011006,4,2,-1,0,2,1,2,4,3,2,2,0,-1,0,4,4,2,1,1,3,5,5,2,3
HL11,150011006,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G
KN12,150011012,8,10,7,7,9,11,11,7,4,7,8,6,5,5,6,5,7,10,18,15,...
KN12,150011012,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G
PC,150032004,2,3,2,0,1,0,0,2,3,4,4,1,1,2,0,0,0,0,2,3,4,3,5,4
PC,150032004,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G
KH19,150090006,1,0,0,4,7,4,1,0,0,1,1,1,3,2,6,11,18,5,3,2,2,0,0,0
KH19,150090006,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G
SI2,150031004,7,5,4,6,7,6,6,6,6,6,6,6,6,10,8,5,8,9,8,10,13,9,8,8
SI2,150031004,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G
END_DATA
END_GROUP
BEGIN_GROUP VARIABLE,PM2.5 DATA_TYPE,POINT MEASUREMENT_TYPE,...
10 BEGIN_DATA
KA5,150030010,6,2,1,5,1,1,4,1,4,6,3,3,2
KA5,150030010,G,G,G,G,G,G,G,G,G,G,G,G,G
OV20,150012020,6,5,11,13,11,11,12,16,17,13,17,21,18
OV20,150012020,G,G,G,G,G,G,G,G,G,G,G,G,G
DH1,150031001,5,8,7,2,0,1,3,6,6,4,-999,3,2
DH1,150031001,G,G,G,G,G,G,G,G,G,G,B,G,G
PA16,150012016,8,22,19,14,13,15,13,12,11,6,2,3,4
PA16,150012016,G,G,G,G,G,G,G,G,G,G,G,G,G
MV17,150012017,3,4,4,4,3,2,0,0,1,3,3,2,3
MV17,150012017,G,G,G,G,G,G,G,G,G,G,G,G,G
HL11,150011006,3,1,2,1,0,0,1,2,3,2,1,1,-1
HL11,150011006,G,G,G,G,G,G,G,G,G,G,G,G,G
KN12,150011012,12,11,11,10,10,9,10,11,8,8,9,10,11
KN12,150011012,G,G,G,G,G,G,G,G,G,G,G,G,G
PC,150032004,1,0,2,3,2,1,4,7,6,2,3,6,-999
PC,150032004,G,G,G,G,G,G,G,G,G,G,G,G,M
KH19,150090006,2,0,0,0,1,4,0,1,4,1,0,0,-999
KH19,150090006,G,G,G,G,G,G,G,G,G,G,G,G,M
SI2,150031004,6,6,8,8,7,5,7,8,9,6,5,8,8
SI2,150031004,G,G,G,G,G,G,G,G,G,G,G,G,G
END_DATA
END_GROUP
BEGIN_GROUP VARIABLE,SO2 DATA_TYPE,POINT MEASUREMENT_TYPE,...
9 BEGIN_DATA
KA5,150030010,0,0,0,0,0,0,-999,0.001,0.001,0.001,0.001,...
KA5,150030010,G,G,G,G,G,G,B,G,G,G,G,G,G,G,G,G,G,G,G,G,...
WB6,150030011,0,0,0,0,0,0,-999,0.001,0.001,0.002,0.001,...
WB6,150030011,G,G,G,G,G,G,M,G,G,G,G,G,G,G,G,G,G,G,G,G,...
OV20,150012020,0,0.001,0.001,-0.001,-0.001,-0.002,-0.001,...
DH1,150031001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,...
DH1,150031001,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,...
PA16,150012016,0.087,0.036,0.079,0.13,0.105,0.081,0.102,...
PA16,150012016,G,G,G,G,G,G,G,G,G,K,G,G,G,G,G,G,G,G,G,B,G,...
MV17,150012017,0.002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,...
MV17,150012017,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,B,...
HL11,150011006,0.001,0.001,0.001,0.001,0.001,0.001,0.001,...
KN12,150011012,0,0,0,0,0,0,0.001,0.001,0.001,0.001,0.002,...
PE10,150012010,0.001,0.001,0.001,0.001,0.001,0.001,0.001,...
PE10,150012010,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,...
END_DATA
END_GROUP
END_FILE
####
#! /usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my $filename = q{monk.txt};
open my $fh, q{<}, $filename
or die qq{cant open *$filename* to read: $!\n};
my (@db, @records);
while (my $line = <$fh>){
chomp $line;
if ($line =~ /BEGIN_GROUP VARIABLE,PM2\.5/ .. $line =~ /END_GROUP/){
push @records, $line;
if ($line =~ /END_GROUP/){
push @db, [@records];
#warn Dumper \@db;
@records = ();
}
}
}
for my $group (@db){
for my $record (@{$group}){
print qq{$record\n};
# split on comma to get the field
# you need?
}
print q{*} x 10, qq{\n};
}
####
BEGIN_GROUP VARIABLE,PM2.5 DATA_TYPE,POINT MEASUREMENT_TYPE,...
10 BEGIN_DATA
KA5,150030010,0,0,0,0,2,1,0,0,0,3,1,0,1,1,0,5,3,2,3,0,-999,0,0,4
KA5,150030010,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,B,G,G,G
OV20,150012020,17,17,18,11,11,6,6,16,9,8,10,13,11,8,7,5,6,6,...
OV20,150012020,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G
DH1,150031001,5,5,3,1,1,4,4,2,2,3,2,1,3,4,3,2,2,5,4,4,5,4,3,2
DH1,150031001,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G
PA16,150012016,8,11,7,6,10,8,6,4,5,6,6,5,3,6,6,3,4,4,6,8,6,6,8,8
PA16,150012016,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G
MV17,150012017,1,5,3,0,2,1,1,1,4,6,6,4,2,2,4,3,2,1,1,2,3,2,0,0
MV17,150012017,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G
HL11,150011006,4,2,-1,0,2,1,2,4,3,2,2,0,-1,0,4,4,2,1,1,3,5,5,2,3
HL11,150011006,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G
KN12,150011012,8,10,7,7,9,11,11,7,4,7,8,6,5,5,6,5,7,10,18,15,...
KN12,150011012,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G
PC,150032004,2,3,2,0,1,0,0,2,3,4,4,1,1,2,0,0,0,0,2,3,4,3,5,4
PC,150032004,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G
KH19,150090006,1,0,0,4,7,4,1,0,0,1,1,1,3,2,6,11,18,5,3,2,2,0,0,0
KH19,150090006,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G
SI2,150031004,7,5,4,6,7,6,6,6,6,6,6,6,6,10,8,5,8,9,8,10,13,9,8,8
SI2,150031004,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G
END_DATA
END_GROUP
**********
BEGIN_GROUP VARIABLE,PM2.5 DATA_TYPE,POINT MEASUREMENT_TYPE,...
10 BEGIN_DATA
KA5,150030010,6,2,1,5,1,1,4,1,4,6,3,3,2
KA5,150030010,G,G,G,G,G,G,G,G,G,G,G,G,G
OV20,150012020,6,5,11,13,11,11,12,16,17,13,17,21,18
OV20,150012020,G,G,G,G,G,G,G,G,G,G,G,G,G
DH1,150031001,5,8,7,2,0,1,3,6,6,4,-999,3,2
DH1,150031001,G,G,G,G,G,G,G,G,G,G,B,G,G
PA16,150012016,8,22,19,14,13,15,13,12,11,6,2,3,4
PA16,150012016,G,G,G,G,G,G,G,G,G,G,G,G,G
MV17,150012017,3,4,4,4,3,2,0,0,1,3,3,2,3
MV17,150012017,G,G,G,G,G,G,G,G,G,G,G,G,G
HL11,150011006,3,1,2,1,0,0,1,2,3,2,1,1,-1
HL11,150011006,G,G,G,G,G,G,G,G,G,G,G,G,G
KN12,150011012,12,11,11,10,10,9,10,11,8,8,9,10,11
KN12,150011012,G,G,G,G,G,G,G,G,G,G,G,G,G
PC,150032004,1,0,2,3,2,1,4,7,6,2,3,6,-999
PC,150032004,G,G,G,G,G,G,G,G,G,G,G,G,M
KH19,150090006,2,0,0,0,1,4,0,1,4,1,0,0,-999
KH19,150090006,G,G,G,G,G,G,G,G,G,G,G,G,M
SI2,150031004,6,6,8,8,7,5,7,8,9,6,5,8,8
SI2,150031004,G,G,G,G,G,G,G,G,G,G,G,G,G
END_DATA
END_GROUP
**********