PHP Filter and CUT


 
Thread Tools Search this Thread
Top Forums Programming PHP Filter and CUT
# 1  
Old 01-12-2013
PHP Filter and CUT

Hi All,

i have a log file .i want to cut and filter using some conditions in PHP
condition 1:first i want to filter the datas having "P12345"
condition 2:cut the session ID and time stamp(i.e 77087432[11/29/2012 08:57:02])for all user id "P12345"
Code:
P123456_77087432[11/29/2012 08:57:02]:INFO: login 
P123456_77087432[11/29/2012 08:57:02]:INFO:UpdateInfo o
P12345_WorkItemID = 1-ASSDFDFS##1232134214_0386052691
P123456_77087432[11/29/2012 09:05:37]:ERROR:Failed on invoking GetWoritem 
P12345_WorkItemID = 1-ASSDFDFS##1232134214_0386052691
P123456_77087432[11/29/2012 09:05:37]:ERROR:Unable to retrive work item ibute 
P123456_77087432[11/29/2012 09:05:37]:WARNING:Failed at RenderFormatString,
P12345_WorkItemID = 1-ASSDFDFS##1232134214_0386052691
P12345_WorkItemID = 1-ASSDFDFS##1232134214_0386052691
P123456_77087432[11/29/2012 09:05:37]:WARNING:RenderFormatString: Could not find
P123456_77087432[11/29/2012 09:05:37]:WARNING:RenderFormatString: Could not find 
P123456_77087432[11/29/2012 09:05:37]:WARNING:RenderFormatString: Could not find


and the out put should be like this

Code:
77087432[11/29/2012 08:57:02]
77087432[11/29/2012 08:57:02]
77087432[11/29/2012 09:05:37]
77087432[11/29/2012 09:05:37]
77087432[11/29/2012 09:05:37]
77087432[11/29/2012 09:05:37]
77087432[11/29/2012 09:05:37]
77087432[11/29/2012 09:05:37]

# 2  
Old 01-12-2013
Here is one way:

Code:
$string = "P123456_77087432[11/29/2012 08:57:02]:INFO: login
P123456_77087432[11/29/2012 08:57:02]:INFO:UpdateInfo
P12345_WorkItemID = 1-ASSDFDFS##1232134214_0386052691
P123456_77087432[11/29/2012 09:05:37]:ERROR:Failed on invoking GetWoritem
P12345_WorkItemID = 1-ASSDFDFS##1232134214_0386052691
P123456_77087432[11/29/2012 09:05:37]:ERROR:Unable to retrive work item ibute
P123456_77087432[11/29/2012 09:05:37]:WARNING:Failed at RenderFormatString
P12345_WorkItemID = 1-ASSDFDFS##1232134214_0386052691
P12345_WorkItemID = 1-ASSDFDFS##1232134214_0386052691
P123456_77087432[11/29/2012 09:05:37]:WARNING:RenderFormatString: Could not find
P123456_77087432[11/29/2012 09:05:37]:WARNING:RenderFormatString: Could not find
P123456_77087432[11/29/2012 09:05:37]:WARNING:RenderFormatString: Could not find";
$pattern  =  '/P12345..(\d{1,8}\[\d\d\/\d\d\/\d\d\d\d \d\d:\d\d:\d\d\])/';
preg_match_all($pattern, $string, $matches, PREG_SET_ORDER);
foreach ($matches as $val) {
  echo nl2br( "match: " . $val[1] . "\n");
}
echo nl2br("\n\n");
echo nl2br( $string );



Example output:
Code:
match: 77087432[11/29/2012 08:57:02]
match: 77087432[11/29/2012 08:57:02]
match: 77087432[11/29/2012 09:05:37]
match: 77087432[11/29/2012 09:05:37]
match: 77087432[11/29/2012 09:05:37]
match: 77087432[11/29/2012 09:05:37]
match: 77087432[11/29/2012 09:05:37]
match: 77087432[11/29/2012 09:05:37]


P123456_77087432[11/29/2012 08:57:02]:INFO: login
P123456_77087432[11/29/2012 08:57:02]:INFO:UpdateInfo
P12345_WorkItemID = 1-ASSDFDFS##1232134214_0386052691
P123456_77087432[11/29/2012 09:05:37]:ERROR:Failed on invoking GetWoritem
P12345_WorkItemID = 1-ASSDFDFS##1232134214_0386052691
P123456_77087432[11/29/2012 09:05:37]:ERROR:Unable to retrive work item ibute
P123456_77087432[11/29/2012 09:05:37]:WARNING:Failed at RenderFormatString
P12345_WorkItemID = 1-ASSDFDFS##1232134214_0386052691
P12345_WorkItemID = 1-ASSDFDFS##1232134214_0386052691
P123456_77087432[11/29/2012 09:05:37]:WARNING:RenderFormatString: Could not find
P123456_77087432[11/29/2012 09:05:37]:WARNING:RenderFormatString: Could not find
P123456_77087432[11/29/2012 09:05:37]:WARNING:RenderFormatString: Could not find

This User Gave Thanks to spacebar For This Post:
# 3  
Old 01-12-2013
thanks Space.
for your information i am using array that will read from that log file.is this possible to done using array indexes??
# 4  
Old 01-13-2013
Yes , How are your arrays defined/loaded?(i.e. Post code).
# 5  
Old 01-23-2013
this is the code .the content of output.log is in (refer to my 1st post)
Code:
$dir=file('D:/test/');
$lines=array();
$temp=array();
$result=array();

$fp=fopen('output.log', 'r');
while (!feof($fp))
{
    $line=fgets($fp);

    $line=trim($line);

    
    $lines[]=$line;

}
fclose($fp);
sort($lines);

# 6  
Old 01-23-2013
Example using array with same data:
Code:
$lines  =  array( "P123456_77087432[11/29/2012 08:57:02]:INFO: login",
                  "P123456_77087432[11/29/2012 08:57:02]:INFO:UpdateInfo",
                  "P12345_WorkItemID = 1-ASSDFDFS##1232134214_0386052691",
                  "P123456_77087432[11/29/2012 09:05:37]:ERROR:Failed on invoking GetWoritem",
                  "P12345_WorkItemID = 1-ASSDFDFS##1232134214_0386052691",
                  "P123456_77087432[11/29/2012 09:05:37]:ERROR:Unable to retrive work item ibute",
                  "P123456_77087432[11/29/2012 09:05:37]:WARNING:Failed at RenderFormatString",
                  "P12345_WorkItemID = 1-ASSDFDFS##1232134214_0386052691",
                  "P12345_WorkItemID = 1-ASSDFDFS##1232134214_0386052691",
                  "P123456_77087432[11/29/2012 09:05:37]:WARNING:RenderFormatString: Could not find",
                  "P123456_77087432[11/29/2012 09:05:37]:WARNING:RenderFormatString: Could not find",
                  "P123456_77087432[11/29/2012 09:05:37]:WARNING:RenderFormatString: Could not find" );
$pattern  =  '/P12345..(\d{1,8}\[\d\d\/\d\d\/\d\d\d\d \d\d:\d\d:\d\d\])/';
foreach ($lines as $line) {
  preg_match_all($pattern, $line, $matches, PREG_SET_ORDER);
  foreach ($matches as $val) {
    echo nl2br( "match: " . $val[1] . "\n" );
  }
}
echo nl2br("\n\n");
foreach ($lines as $line) {
  echo nl2br( $line . "\n" );
}

Login or Register to Ask a Question

Previous Thread | Next Thread

4 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Using :<<cut / cut to comment out block of bash script

I am using : << cut / cut to comment out block of code. Works fine on few lines of script, then it gives me this cryptic error when I try to comment out about 80 lines. The "warning " is at last line of script. done < results 169 echo "END read all positioning parameters" 170... (8 Replies)
Discussion started by: annacreek
8 Replies

2. Shell Programming and Scripting

Awk/sed/cut to filter out records from a file based on criteria

I have two files and would need to filter out records based on certain criteria, these column are of variable lengths, but the lengths are uniform throughout all the records of the file. I have shown a sample of three records below. Line 1-9 is the item number "0227546_1" in the case of the first... (15 Replies)
Discussion started by: MIA651
15 Replies

3. UNIX for Beginners Questions & Answers

Cut command: can't make it cut fields

I'm a complete beginner in UNIX (and not a computer science student either), just undergoing a tutoring course. Trying to replicate the instructions on my own I directed output of the ls listing command (lists all files of my home directory ) to My_dir.tsv file (see the screenshot) to make use of... (9 Replies)
Discussion started by: scrutinizerix
9 Replies

4. Shell Programming and Scripting

Cut Command error cut: Bad range

Hi Can anyone what I am doing wrong while using cut command. for f in *.log do logfilename=$f Log "Log file Name: $logfilename" logfile1=`basename $logfilename .log` flength=${#logfile1} Log "file length $flength" from_length=$(($flength - 15)) Log "from... (2 Replies)
Discussion started by: dgmm
2 Replies
Login or Register to Ask a Question