How to do pattern matching for multiple files in Perl
am 28.08.2007 15:23:36 von KimiHi,
I am new to Perl and know ksh better. He is what I am doing with ksh
"$ cat file_list
file1.log
file2.log
$cat file_list | xargs -L 500 egrep -ci "pattern_to_search" /dev/null
| grep -v "0$" | sort -b -t ":" -k4,4 -T "/tmp" > "summary_file"
$ cat summary_file
file1.log:2
file2.log:2
$cat file_list | xargs -L 500 egrep -A3 -i "pattern_to_search" | cut -
c1-1024 > "detail_file"
$cat detail_file
file1.log: pattern_to_search 1
file1.log: pattern_to_search 2
file2.log: pattern_to_search 6
file2.log: pattern_to_search 7"
inside the ksh script, pattern.ksh
------------------------------------------------
cat file_list | xargs -L 500 egrep -ci "pattern_to_search" /dev/null |
grep -v "0$" | sort -b -t ":" -k4,4 -T "/tmp" > "summary_file"
cat file_list | xargs -L 500 egrep -A3 -i "pattern_to_search" | cut -
c1-1024 > "detail_file"
And I was told that perl is faster than ksh. If so, how can we do the
above operation using perl. I dont think using the above statement
directly inside perl script as
`cat file_list | xargs -L 500 egrep -ci "pattern_to_search" /dev/null
| grep -v "0$" | sort -b -t ":" -k4,4 -T "/tmp" > "summary_file"`
`cat file_list | xargs -L 500 egrep -A3 -i "pattern_to_search" | cut -
c1-1024 > "detail_file"`
is the right way. Any suggestions and pointers is appreciable.
Thanks in Advance,
Kimi