Reputation: 11
I have a file like:
fan apple banana orange mango
cooler apple orange banana mango
cooler apple orange banana mango
cooler apple orange banana mango
fan apple banana orange mango
fan apple banana orange mango
cooler apple orange banana mango
fan apple banana orange mango
now when I am going line by line I want to count at the moment when Fan comes and need to increase that count with every fan. like
count 1
fan apple banana orange mango
cooler apple orange banana mango
cooler apple orange banana mango
cooler apple orange banana mango
count 2
fan apple banana orange mango
count 3
fan apple banana orange mango
cooler apple orange banana mango
count 4
fan apple banana orange mango
This is what I want in output. Help is appreciated...Thank you
Upvotes: 1
Views: 73
Reputation: 184975
In a one-liner :
perl -lane 'BEGIN{$c=1}; $F[0] eq "fan" && do{print "count ".$c++ }; print' file
Upvotes: 0
Reputation: 50328
#!/usr/bin/perl
use strict;
use warnings;
my $n = 0;
while (<>) {
print "count ", ++$n, "\n" if /^fan\b/;
print;
}
or as a one-liner using Perl 5.10+:
perl -pE 'say "count ", ++$n if /^fan\b/'
Upvotes: 1