Sponsored Content
Top Forums Shell Programming and Scripting Read values from second file in awk Post 302901734 by EAGL€ on Thursday 15th of May 2014 09:37:45 AM
Old 05-15-2014
Read values from second file in awk

Hello Friends,

I have written a script like the following, which finds some logs and fetchs some desired rows and then calculate average processing time of a spesific application.

Code:
if [ "$#" -ne 3 ]
then
        echo 
        echo "-----  There are three arguments which is expected to run this script!  -----"
		echo "-----  You have written : $0 $@  -----"
		echo "-----  USAGE: "$0" [Full path of desired directory] [State] [ Date : since how many days ago the script should check the logs? ]  -----"
        echo "-----  i.e.  "$0" /opt/data/logs 1000 7  -----"
        echo
elif [ "$#" -eq 3 ]
then
        log_dir=$1
        first_char=$"log_dir:0:1"
        echo "$first_char"
		 
        if [ "$first_char" -eq "/" ] && [ -d "$log_dir" ]
        then  
			
			for j in `find $log_dir -type f \( -name "profile[1-4].log" -o -name "profile[1-4].log.2014-[0-9][0-9]-[0-9][0-9]-[0-9][0-9]" \) -mtime -$3 2>/dev/null | sort -t- -k 4,4`;
			do
			echo "$j" && nawk -v stat=$2 '/State=\[stat\]  Action.*in/gsub(/^\[|\]/,"",$(NF-1)){sum+=$(NF-1)} END { print "Average Process Time = ",sum/NR}' $j;
			done;

		else
			echo 
			echo "-----  You have written  : $0 $@  -----"
			echo "--- Enter the full path of logs which is first argument  \""$1"\"  correctly ---"
			echo "-----  USAGE: "$0" [Full path of desired directory] [State] [ Date : since how many days ago the script should check the logs? ]  -----"
			echo "-----  i.e.  "$0" /opt/data/logs 1000 7  -----"
			echo
		fi
fi

There are three arguments can be given to this script,

log directory, State, date,

I want "state" value to be read from another file like the following example and then get the equavalent values from this file and print in NAWK

Code:
file2:

1000 ChargingRenewal State
2000 Notification State
7000 Fulfilment State
....

so what i want is to provide the following XXXX part from second file, is it possible? How could i achive this?


Code:
echo "$j" && nawk -v stat=$2 '/State=\[stat\]  Action.*in/gsub(/^\[|\]/,"",$(NF-1)){sum+=$(NF-1)} END { print "Average Process Time for XXXX State = ",sum/NR}' $j file2

Appreciate your ideas, I'm stuck at this, I know i can define another variable for the Nawk using "-v" but how i can retrive XXX values from second file from $2 column after a comparision?
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk/sed script to read values from parameter files

Hi, I am writing a shell program that executes a lot of Oracle SQL Files on different databases based on the enviroment setting value. I am trying to design a parameter file where i can store the environment values for all the databases in the below format Environment File File Name... (6 Replies)
Discussion started by: rajan_san
6 Replies

2. Shell Programming and Scripting

Read values from a file

Hi , I have a file with the following content I need the read the year and reporting from this file and store them in variables. I understand that we can read the file delimited by'=' but not sure how to extract the values correctly. Thanks in advance Regards (3 Replies)
Discussion started by: w020637
3 Replies

3. Shell Programming and Scripting

AWK: read values from file1; search for values in file2

I have read another post about this issue and am wondering how to adapt it to my own, much simpler, issue. I have a file of user IDs like so: 333333 321321 546465 ...etc I need to take each number and use it to print records wherein the 5th field matches the user ID pulled from the... (2 Replies)
Discussion started by: Bubnoff
2 Replies

4. Shell Programming and Scripting

Read variables and their values from file

Hi, I want to read the variables and the values from the txt file and compare these values with the ones computed by script. for ex: say var.txt contains the variable names and their values: one 1 two 2 three 3 The value of variables "one" "two" and "three" will be computed in the script... (3 Replies)
Discussion started by: bhushana
3 Replies

5. Shell Programming and Scripting

How to Read different values from external file?

Hi , I am new to this scripting , I am facing an issue like how to read different values from external file by using different variables, In script I supposed to declare var 1 var 2 var 3 I know how to call this variables from external file (I am using awk command by giving same... (3 Replies)
Discussion started by: chandini
3 Replies

6. Shell Programming and Scripting

Read values from file.

I have a config file of this format: Company= Alpha Tech From Email = AlphaTech@Alphatech.com Pass = Passowrd To Email = abc@hotmail.com Smtp=smtp.live.com:587 I want to read these values from this file and use in a command to send email. I am trying grep but it gives full line. I just... (8 Replies)
Discussion started by: kashif.live
8 Replies

7. Shell Programming and Scripting

Read column values from previous and next line using awk

Hi, I have a csv file which contains data that looks something like this: Key1 Key2 Key3 New_Key1 New_Key2 New_Key3 102 30 0 - - - 102 40 1 30 40 50 102 50 2 40 50 ... (4 Replies)
Discussion started by: Nishi_Licious
4 Replies

8. Shell Programming and Scripting

Read record from the text file contain multiple separated values & assign those values to variables

I have a file containing multiple values, some of them are pipe separated which are to be read as separate values and some of them are single value all are these need to store in variables. I need to read this file which is an input to my script Config.txt file name, first path, second... (7 Replies)
Discussion started by: ketanraut
7 Replies

9. Shell Programming and Scripting

awk file to read values from Db2 table replacing hard coded values

Hi, I want to replace a chain of if-else statement in an old AWK file with values from Db2 table or CSV file. The part of code is below... if (start_new_rec=="true"){ exclude_user="false"; user=toupper($6); match(user, "XXXXX."); if (RSTART ==2 ) { ... (9 Replies)
Discussion started by: asandy1234
9 Replies

10. UNIX for Beginners Questions & Answers

awk GSUB read field values from multiple text files

My program run without error. The problem I am having. The program isn't outputting field values with the column headers to file.txt. Each of the column headers in file.txt has no data. MEMSIZE SECOND SASFoundation Filename The output results in file.txt should show: ... (1 Reply)
Discussion started by: dellanicholson
1 Replies
All times are GMT -4. The time now is 01:08 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy