Awk modification


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Awk modification
# 1  
Old 05-30-2012
Awk modification

I need help modifying the code below.

DATAFILE is a log file.

I have two strings i need to search for in the log file.

The two strings are:

1. ERROR
2. com.rolander.promotions.client



Code:
awk 'BEGIN {
  while((getline < "'${SFILE}'")>0)
     S[$0]

  FS="\n"; RS="\n"
}

/ERROR/ && /com.rolander.promotions.client/ {

  for(X in D) delete D[X];

  for(N=2; N<=NF; N++)
  {
       gsub(/^[ \t]+/, "", $N);
       split($N, A, "=");
       D[A[1]] = A[2]
       i = 3;
       while (i in A)
          D[A[1]] = D[A[1]] "=" A[i++];
  }

       printf("%s \n")

}' $DATAFILE

SFILE is suppose to be a file that contains the strings to search for. one string per line. i guess this is redundant since i already hardcoded the strings in the script.

sample log file:


Code:
2012-05-30 17:55:58,296 ERROR com.rolander.core.manager.paymentManager.PaymentBL - PaymentBL notifyPaymentOK() method is called. This functionality is not supported.
2012-05-30 17:56:02,855 ERROR com.rolander.promotions.client.PromotionsWebServiceClient - Exception with communication with promotions web service: 
2012-05-30 17:56:02,855 ERROR com.rolander.promotions.client.PromotionsWebServiceClient - Exception web service host: promo.rolandernetworks.net
2012-05-30 17:56:02,856 ERROR com.rolander.promotions.client.PromotionsWebServiceClient - Exception web service port: 8080
2012-05-30 17:56:02,856 ERROR com.rolander.promotions.client.PromotionsWebServiceClient - Exception web service path: /promotions/getReferral
2012-05-30 17:56:02,856 ERROR com.rolander.promotions.client.PromotionsWebServiceClient - Exception web service params: subAccountNumber=101045334
2012-05-30 17:56:02,856 ERROR com.rolander.promotions.client.PromotionsWebServiceClient - Exception web service http timeout: 10000
2012-05-30 17:56:02,857 ERROR com.rolander.promotions.client.PromotionsWebServiceClient - Exception web service tcp timeout: 1000
2012-05-30 17:56:02,857 ERROR com.rolander.core.manager.referralManager.ReferralBL - ERROR getting Referral.

basically, i want the script to scan this file and output ONLY lines that contain the two strings i specified.
# 2  
Old 05-30-2012
Code:
awk '/ERROR/ && /com.rolander.promotions.client/' filename

# 3  
Old 05-30-2012
Quote:
Originally Posted by Corona688
Code:
awk '/ERROR/ && /com.rolander.promotions.client/' filename


i would like to use the script i pasted because its going about reading the log in a specific way. any ideas?

i've noticed in some cases, its not really what commands you use, its how you use it that will provide the most desired results.
# 4  
Old 05-30-2012
If you told me what you actually wanted, instead of giving me a program which doesn't do what you want and expecting me to infer what you do want somehow, I could do it.
# 5  
Old 05-30-2012
Quote:
Originally Posted by Corona688
If you told me what you actually wanted, instead of giving me a program which doesn't do what you want and expecting me to infer what you do want somehow, I could do it.

ok.

i have a log file that has data similar to this:

Code:
2012-05-30 17:55:58,296 ERROR com.rolander.core.manager.paymentManager.PaymentBL - PaymentBL notifyPaymentOK() method is called. This functionality is not supported.
2012-05-30 17:56:02,855 ERROR com.rolander.promotions.client.PromotionsWebServiceClient - Exception with communication with promotions web service: 
2012-05-30 17:56:02,855 ERROR com.rolander.promotions.client.PromotionsWebServiceClient - Exception web service host: promo.rolandernetworks.net
2012-05-30 17:56:02,856 ERROR com.rolander.promotions.client.PromotionsWebServiceClient - Exception web service port: 8080
2012-05-30 17:56:02,856 ERROR com.rolander.promotions.client.PromotionsWebServiceClient - Exception web service path: /promotions/getReferral
2012-05-30 17:56:02,856 ERROR com.rolander.promotions.client.PromotionsWebServiceClient - Exception web service params: subAccountNumber=101045334
2012-05-30 17:56:02,856 ERROR com.rolander.promotions.client.PromotionsWebServiceClient - Exception web service http timeout: 10000
2012-05-30 17:56:02,857 ERROR com.rolander.promotions.client.PromotionsWebServiceClient - Exception web service tcp timeout: 1000
2012-05-30 17:56:02,857 ERROR com.rolander.core.manager.referralManager.ReferralBL - ERROR getting Referral.

Using the script i pasted above, i want to scan this log file for certain strings which must be on the same line.

The file in which the strings to search for are stored is specified with the $SFILE variable, and the strings appear in the file one string per line. in this particular example, the $SFILE variable may not even be needed since I already hardcoded the strings inside the script itself.

so the script is suppose to read in the DATAFILE, and then print out each line it finds that contains both of the specified strings.
# 6  
Old 05-30-2012
So you don't care about the part that does all the g-subbing and splitting for purposes you still haven't disclosed?

Code:
awk 'NR==FNR { S[L++]=$0; next } { M=1; for(N=1; M&&(N<=L); N++) if(!(S[N] ~ $0)) M=0 } M' sfile datafile

# 7  
Old 05-30-2012
Then the best script is either coronas script sample.

Code:
awk '/ERROR/ && /com.rolander.promotions.client/' DATAFILE

or
Code:
awk '/ERROR.*com.rolander.promotions.client/' DATAFILE

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

cp modification

I'm usia Raspbian, a Debian subset, and wondering what work would be involved in altering the cp command. cp at present needs a full path and file name for source and at least full filename for destination. How can I change this so the second parameter isn't needed? So if the destination... (6 Replies)
Discussion started by: MuntyScrunt
6 Replies

2. Shell Programming and Scripting

Modification to awk command

i have a php file that has this: php.code #!/usr/bin/php <?php phpinfo(); hlight_file(__FILE__); ?> I want my awk code grab whatever is inbetween and including the "<?php" and "?>". Then, it should scan all the entries between these two points. And if the entries between these... (10 Replies)
Discussion started by: SkySmart
10 Replies

3. Shell Programming and Scripting

awk script modification

can someone help me identify what i'm doing wrong here: awk -F'|' 'BEGIN{c=0} /./ && /./ { if ($3 < 2) { print ; c++ } END { print c":OK" } else if (($3 >= 2) && ($3 < 4)) { print ; c++ } END { print c":WARNING" } else if ($3 >= 4) { print ; c++ } END { print c":CRITICAL" } }'... (4 Replies)
Discussion started by: SkySmart
4 Replies

4. Shell Programming and Scripting

awk script modification - treat certain files differently

awk 'BEGIN{OFS=","} FNR == 1 {if (NR > 1) {print fn,fnr,nl} fn=FILENAME; fnr = 1; nl = 0} {fnr = FNR} /UNUSUAL/ && /\.gz/ ~ /FILENAME/ {nl++} <'{system ("gunzip -cd FILENAME")}' END ... (2 Replies)
Discussion started by: SkySmart
2 Replies

5. Shell Programming and Scripting

IP Address Modification through awk/sed

Hi, I have to modify the 2nd and 3rd octet of the IP address through awk/sed. For Example: Given IP is : 10.205.22.254, it should be modified as 10.105.100.254 through awk/sed. Kindly help me on this and let me know if you have any questions. Thanks in advances. (2 Replies)
Discussion started by: kumarbka
2 Replies

6. UNIX for Dummies Questions & Answers

awk output modification

Hello, I am using awk command to print some output, but there are some characters that I would like to remove from the output awk '{print $5$6}' the output I get is column5/:column6 I am looking forward to remove the : and to get the output column5/column6 Sorry if this question is... (4 Replies)
Discussion started by: Error404
4 Replies

7. Shell Programming and Scripting

awk modification for lines

so i have this data in a file: jime=1860,yime=1.23243,lime= jime=1859,yime=1.23018,lime= jime=1825,yime=1.15371,lime= jime=1849,yime=1.20769,lime= jime=1841,yime=1.1897,lime= jime=1849,yime=1.20769,lime= i use this code to calculate the percentage difference of the number in column 2... (9 Replies)
Discussion started by: SkySmart
9 Replies

8. Shell Programming and Scripting

awk script modification

I want the below script to omit every chunk of data that contains a specific hostname. here's the scenario. i have a configuration file that contains the configuration of several hosts. a sample of this configuration file is this: define host { address ... (12 Replies)
Discussion started by: SkySmart
12 Replies

9. Shell Programming and Scripting

in line modification in a file using awk

Hi, I have a conf.file with the following values: ef=78 b=40 ca=40 c=45/dev2 when I modify one of the line with the below awk script,it's modifying BUT it's placing the modified line in the last line : input:- Configure b 45/dev4 output:- ef=78 ca=40 ... (2 Replies)
Discussion started by: axes
2 Replies

10. UNIX for Advanced & Expert Users

Swap modification

How can i modify (expand) the swap memory (Sco Enterprise 5.0.5) using the swap command...? The excisting swap is 512 and i want to increase it to 1024...? Thanx in advance (2 Replies)
Discussion started by: psychofredy
2 Replies
Login or Register to Ask a Question