i wanna search for the PID i give and the string.
#!/tools/opt/bin/t2.perl
use Getopt::Std;
getopts('hDp:f:sb:e:q:t:jl');
if($Getopt::Std::opt_f) {$sFile = $Getopt::Std::opt_f;}
if($Getopt::Std::opt_p) {$iPid = $Getopt::Std::opt_p;}
if($Getopt::Std::opt_q) {$sOutFile = $Getopt::Std::opt_q;}
if($Getopt::Std::opt_c) {$iStr = $Getopt::Std::opt_c;}
my $sAppNameString = "[c,C][m,M]";
my $sStartString = ".?[DWEM]";
my $sAppPidString = ".*\\s+$sAppNameString:(\\d+\\.?\\d*)\\s+.*";
my $sAppString = "$sStartString$sAppPidString";
open(HFILE, "< $sFile") or die ("Failed to open $sFile");
$hFile = *HFILE;
print ("Processing file: \"$sFile\"\n");
#Splitting the log file per pid
if ($Getopt::Std::opt_s) {
seek($hFile,0,0);
while (<$hFile>)
{
if (m/$sAppString/) {
$iPidTmp = $1;
}
if(($iPid != 0) && ($iPid != $iPidTmp)) {
next;
}
$hOutputFile = $hFiles{$iPidTmp};
if($hOutputFile) {
print $hOutputFile "$_";
}else{
print ("PID = $iPidTmp\n");
open( HPIDFILE.$iPidTmp, ">$sOutFile.$iPidTmp" )
or die ("Failed to open $sOutputFile.$iPidTmp");
$hFiles{$iPidTmp} = *HPIDFILE.$iPidTmp;
$hOutputFile = $hFiles{$iPidTmp};
print $hOutputFile "$_";
}
}
}
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|