Perl Script Help


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Perl Script Help
# 8  
Old 02-25-2009
perl has its own grep function

Quote:
they are there in the records.
point them out.
# 9  
Old 02-26-2009
Hi Tom/Kevin/All,


I pointed the records in red, that is what needs to be pulled out from the log snippet.

Thanks
NT
# 10  
Old 02-26-2009
Code:
2009-02-18 00:00:11,734 [TP-Processor11] DEBUG RFRiskAssessmentController,(TP-Processor11:122) - Username: 01376128

2009-02-18 00:00:11,765 [TP-Processor11] DEBUG ResponseMessageParser,(TP-Processor11:214) - Error code:0 ErrorMsg:SESSIONID : 1:2857064


2009-02-18 00:00:11,765 [TP-Processor11] INFO  RiskXActionAPI,(TP-Processor11:59) - evaluateRisk: End-to-end time in millisecond 31

Ok, not knowing the application, and assuming "TP-Processor11" is the application, there is nothing in common with these lines. That would make it near impossible to make sure the lines are unique to any one user.
You cannot assume that log entries will be in order for each user. That would only happen if your "thousands" of users used the application one user at a time. In reality the log entries will be mixed with multiple users.

That is why, based on the log and requirements you provided I suggested alternate methods in an earlier post.

Although, I have to ask, how confident are you that the log output you posted is accurate to one user? I ask because the highlighted part of the log below:

Code:
2009-02-18 00:00:11,734 [TP-Processor11] DEBUG RFRiskAssessmentController,(TP-Processor11:122) - Entered callRF

seems to be the program's internal session ID. Or it seems like it should be.

grep your log for "TP-Processor11:122" to check if this is actually the user's activity.

If so, then it's no problem to grab this and track a user. Otherwise I think you'll have to find a different way to get the info you need.


Tom de
# 11  
Old 02-26-2009
TP-Processor11:122-- It is the actual user activity only because all the users and sessions id is comin into this thread only.If you can provide me a simple syntax i can proceed further.

Thnaks
NT
# 12  
Old 02-26-2009
My perl is old and bad, but you should get the idea;(this is pseudo code and could/should be done much better !!)

Code:
open(IN , filename)

while (IN){

if  ($_ ~/Username/ ){

     ($a, $b, $c, $d, $user ) = split(/:/, $_) ;            # delimit by :
     ($TP-ID, $blah) = split(/\)/, $d);                       # delimit on ) giving us a number, $d should be "122) - Username"
    print "Username = $user \t TP-Processor11 ID = $TP-ID \n";
    }
     if ( $_ ~/TP-Processor11:$TP-ID:/ && ~/End-to-end/ ){
       $user-end = $_;                                           # just gets the whole line ... lazy
        print "end of user session:\n $user-end \n";
     }
} #end while

close (IN);

ugh, thats bad. But hopefully it helps.

Please feel free to make fun of, point at, and ridicule my code Smilie

Tom de
# 13  
Old 02-26-2009
Are we saying these are all different users because the TP-Processor numbers are different?

Code:
2009-02-18 00:00:11,734 [TP-Processor11] DEBUG RFRiskAssessmentController,(TP-Processor11:122) - Username: 01376128

2009-02-18 00:00:11,765 [TP-Processor11] DEBUG ResponseMessageParser,(TP-Processor11:214) - Error code:0 ErrorMsg:SESSIONID : 1:2857064


2009-02-18 00:00:11,765 [TP-Processor11] INFO  RiskXActionAPI,(TP-Processor11:59) - evaluateRisk: End-to-end time in millisecond 31

Right now I am too confused to offer any code or suggestions. Clarify the requirements.
# 14  
Old 02-26-2009
I believe OP's original assumption was the output he posted was indeed one user. I questioned this, and I interpreted his response:

Quote:
TP-Processor11:122-- It is the actual user activity only because all the users and sessions id is comin into this thread only.If you can provide me a simple syntax i can proceed further.
To mean that the number after TP-Processor11:xxx is the applications session-id. So that TP-Processor11:122 is one user.

Therefore, his log output is NOT one user but many. I'm guessing that greping his log for TP-Processor11:122 returned one user session.

My thought is 122 is an application internal session-id.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

PERL: In a perl-scripttTrying to execute another perl-script that SETS SOME VARIABLES !

I have reviewed many examples on-line about running another process (either PERL or shell command or a program), but do not find any usefull for my needs way. (Reviewed and not useful the system(), 'back ticks', exec() and open()) I would like to run another PERL-script from first one, not... (1 Reply)
Discussion started by: alex_5161
1 Replies

2. Shell Programming and Scripting

Excuting perl script from within a perl script with variables.

Not sure what I am doing wrong here, but I can print the list with no issue. Just a blank screen with the 'do'. #!/usr/bin/perl open FILE, "upslist.txt"; while ($line=<FILE>){ if ($line=~/^(.*?),(.*?)$/){ #print "ups:$1 string:$2\n"; do 'check_snmp_mgeups-0.1.pl -H $1 -C $2'; } ... (1 Reply)
Discussion started by: mrlayance
1 Replies

3. Shell Programming and Scripting

Perl : embedding java script with cgi perl script

Hi All, I am aware that html tags can be embedded in cgi script as below.. In the same way is it possible to embed the below javascript in perl cgi script ?? print("<form action="action.htm" method="post" onSubmit="return submitForm(this.Submitbutton)">"); print("<input type = "text"... (1 Reply)
Discussion started by: scriptscript
1 Replies

4. Shell Programming and Scripting

executing perl script from another perl script : NOT WORKING

Hi Folks, I have 2 perl scripts and I need to execute 2nd perl script from the 1st perl script in WINDOWS. In the 1st perl script that I had, I am calling the 2nd script main.pl =========== print "This is my main script\n"; `perl C:\\Users\\sripathg\\Desktop\\scripts\\hi.pl`; ... (3 Replies)
Discussion started by: giridhar276
3 Replies

5. Shell Programming and Scripting

calling a perl script with arguments from a parent perl script

I am trying to run a perl script which needs input arguments from a parent perl script, but doesn't seem to work. Appreciate your help in this regard. From parent.pl $input1=123; $input2=abc; I tried calling it with system("/usr/bin/perl child.pl $input1 $input2"); and `perl... (1 Reply)
Discussion started by: grajp002
1 Replies

6. Shell Programming and Scripting

HELP on Perl array / sorting - trying to convert Korn Shell Script to Perl

Hi all, Not sure if this should be in the programming forum, but I believe it will get more response under the Shell Programming and Scripting FORUM. Am trying to write a customized df script in Perl and need some help with regards to using arrays and file handlers. At the moment am... (3 Replies)
Discussion started by: newbie_01
3 Replies

7. Shell Programming and Scripting

Perl :How to print the o/p of a Perl script on console and redirecting same in log file @ same time.

How can i print the output of a perl script on a unix console and redirect the same in a log file under same directory simultaneously ? Like in Shell script, we use tee, is there anything in Perl or any other option ? (2 Replies)
Discussion started by: butterfly20
2 Replies

8. Shell Programming and Scripting

perl/unix: script in command line works but not in perl

so in unix this command works works and shows me a list of directories find . -name \*.xls -exec dirname {} \; | sort -u | > list.txt but when i try running a perl script to run this command my $query = 'find . -name \*.xls -exec dirname {} \; | sort -u | > list.txt';... (2 Replies)
Discussion started by: kpddong
2 Replies

9. Shell Programming and Scripting

[Perl] Accessing array elements within a sed command in Perl script

I am trying to use a script to replace the header of each file, whose filename are stored within the array $test, using the sed command within a Perl script as follows: $count = 0; while ( $count < $#test ) { `sed -e 's/BIOGRF 321/BIOGRF 332/g' ${test} > 0`; `cat 0 >... (2 Replies)
Discussion started by: userix
2 Replies

10. Shell Programming and Scripting

Perl: Run perl script in the current process

I have a question regarding running perl in the current process. I shall demonstrate with an example. Look at this. sh-2.05b$ pwd /tmp sh-2.05b$ cat test.sh #! /bin/sh cd /etc sh-2.05b$ ./test.sh sh-2.05b$ pwd /tmp sh-2.05b$ . ./test.sh sh-2.05b$ pwd /etc sh-2.05b$ So... (10 Replies)
Discussion started by: vino
10 Replies
Login or Register to Ask a Question