![]() |
|
Pathologically Eclectic Rubbish Lister | |
PerlMonks |
comment on |
( #3333=superdoc: print w/replies, xml ) | Need Help?? |
we're really guessing at what you are trying to do, so in that spirit maybe here's a real life example that has enough stuff in it to be useful on a few fronts... test file -rw-r--r-- 1 OQ91 Domain Users 273532 Sep 25 15:29 spy.csv.bak -rw-r--r-- 1 OQ91 Domain Users 14704 Jan 8 12:08 spy.sdf -rw-r--r-- 1 OQ91 Domain Users 4329 Oct 17 10:28 spy.sdf.bak -rwxr-xr-x 1 OQ91 Domain Users 1196465 Sep 26 03:36 spywork.ods -rw-r--r-- 1 OQ91 Domain Users 312739 Jan 8 09:40 spyx.csv -rwxrwxr-x 1 OQ91 Domain Users 4875 Dec 26 22:05 stone.pl -rwxr-xr-x 1 OQ91 Domain Users 2396 Oct 25 09:57 stone.pl.121025 -rwxr-xr-x 1 OQ91 Domain Users 3375 Oct 29 10:27 stone.pl.121026 -rwxr-xr-x 1 OQ91 Domain Users 3811 Oct 29 07:52 stone.pl.121029 -rwxr-xr-x 1 OQ91 Domain Users 3809 Nov 8 11:06 stone.pl.121108 -rwxr-xr-x 1 OQ91 Domain Users 77687808 Sep 26 03:46 Taylor_Book_08.xls -rw-r--r-- 1 OQ91 Domain Users 9095 Dec 26 22:14 test15.pl -rw-r--r-- 1 OQ91 Domain Users 4350 Nov 7 01:07 test15.pl.121107 -rw-r--r-- 1 OQ91 Domain Users 4424 Nov 7 11:57 test15.pl.121107a -rw-r--r-- 1 OQ91 Domain Users 8630 Nov 7 13:57 test15.pl.121107b -rw-r--r-- 1 OQ91 Domain Users 9039 Nov 8 08:59 test15.pl.121108 -rw-r--r-- 1 OQ91 Domain Users 9156 Dec 26 22:10 test15.pl.121226 -rw-r--r-- 1 OQ91 Domain Users 46987 Dec 4 13:25 zzz.out$ cat test.txt | perl -l -n -e 'BEGIN {$x="OQ91";$linecount=0;$sum=0;} if((split)[2]==$x){$linecount++ ;$sum += (split)[5]; printf "%s\t %s\t\t %s\n",(split)[2],(split)[5],(split)[9]} ; END {printf "linecount: %d Sum: %d",$linecount,$sum}' Here's some output... abreviated OQ91 312739 spyx.csv OQ91 4875 stone.pl OQ91 2396 stone.pl.121025 OQ91 3375 stone.pl.121026 OQ91 3811 stone.pl.121029 OQ91 3809 stone.pl.121108 OQ91 77687808 Taylor_Book_08.xls OQ91 9095 test15.pl OQ91 4350 test15.pl.121107 OQ91 4424 test15.pl.121107a OQ91 8630 test15.pl.121107b OQ91 9039 test15.pl.121108 OQ91 9156 test15.pl.121226 OQ91 46987 zzz.out linecount: 61 Sum: 88200728 sums the 5th column if the tests are true, counts the lines... prints the 2nd, 5th and 9th columns, AND it's a one liner... In reply to Re^2: While Loops
by tbone654
|
|