擅长:python、mysql、java
<p>下面是使用Perl的一种方法:</p>
<pre><code>#!/usr/bin/perl
use strict;
use warnings;
# initialize output array
my @output = ('KW_NEW');
# proceed first file
open my $fh1, '<', 'in1.txt' or die "unable to open file1: $!";
while(<$fh1>) {
# consider only lines after KW2
if (/KW2/ .. eof) {
# Don't treat KW2 line
next if /KW2/;
# split the current line on space and keep only the fifth first element
my @l = (split ' ', $_)[0..4];
# change the first element
$l[0] = 'Z_NEW';
# insert 1000 at second position
splice @l,1,0,1000;
# push into output array
push @output, "@l";
}
}
# proceed second file
open my $fh2, '<', 'in2.txt' or die "unable to open file2: $!";
while(<$fh2>) {
if (/KW2/ .. eof) {
next if /KW2/;
my @l = (split ' ', $_)[0..4];
$l[0] = 'Z_NEW';
splice @l,1,0,1000;
push @output, "@l";
}
}
# write array to output file
open my $fh3, '>', 'out.txt' or die "unable to open file3: $!";
print $fh3 $_,"\n" for @output;
</code></pre>