3
|
1 #!/usr/bin/perl
|
|
2 # add extra fields to SD records
|
|
3 use lib "$ENV{'RBT_ROOT'}/lib";
|
|
4 use SDRecord;
|
|
5
|
|
6 printHelpAndExit() if (scalar(@ARGV) == 0);
|
|
7 #Parse command line arguments
|
|
8 my @files;
|
|
9 my $arg = shift @ARGV;
|
|
10 printHelpAndExit() if ($arg eq '-h');
|
|
11 #read records
|
|
12 my $sdRec = new SDRecord;
|
|
13 my $nRec=0;
|
|
14 # if not -h, then must be the FieldName
|
|
15 my $FieldName = $arg;
|
|
16 my $FieldVal = shift @ARGV; # and this must be the filed value
|
|
17 # rest are the filenames
|
|
18 while ($sdRec->readRec('DATA'=>1,'LINES'=>1)) {
|
|
19 $sdRec->addData('_REC' => ++$nRec);#add record# as temp data field
|
|
20 $sdRec->addData('_FILE' => $ARGV);#add filename as temp data field
|
|
21 $sdRec->addDataAndLines($FieldName => $FieldVal);
|
|
22 $sdRec->writeRec();#write record
|
|
23 }
|
|
24
|
|
25 sub printHelpAndExit {
|
|
26 print "\nAdding fields to SD files\n";
|
|
27 print "Usage:\n";
|
|
28 print "\tsdfield <Fieldname> <value> <infile[s]>\n";
|
|
29 print "\t-h\tthis help\n";
|
|
30 print "\t\n";
|
|
31 }
|