Sponsored Content
Top Forums Shell Programming and Scripting Shell script to pass the config file lines as variable on the respective called function on a script Post 303006914 by sadique.manzar on Thursday 9th of November 2017 08:22:50 AM
Old 11-09-2017
Shell script to pass the config file lines as variable on the respective called function on a script

I want to make a config file which contain all the paths.
i want to read the config file line by line and pass as an argument on my below function.
Replace all the path with reading config path line by line and pass in respective functions.
how can i achieve that?

Kindly guide.


Code:

#!/bin/sh
DATE=`date +"%Y-%m-%d %H:%M:%S"`   
S1()
{
stream=S1
path=/sadique/S1
counter=0
while [ $counter -le 100 ]
do
	for  files in `printf "%s\n" $path/*.RTM | head -3`
	do
		if [[ -f $files ]];
		then
		TT_FIRST=`awk -F ',' 'NR==1{print $1}' $files`
		TT_LAST=`awk -F ',' 'END{print $1}' $files`
		FILENAME=`ls $files | cut -d '/' -f6`
		TIMESTAMP=$( date -r $files +'%s')
		FILE_CR_TIME=$( date +'%Y-%m-%d %H:%M:%S' -r $files)
                TRANS_TIME_FIRST=$(date -d @$(printf '%.0f\n' $TT_FIRST) +'%s')
		TRANS_TIME_LAST=$(date -d @$(printf '%.0f\n' $TT_LAST) +'%s')
		RECORD_TIME_FIRST=$(date -d @$(printf '%.0f\n' $TT_FIRST) +"%Y-%m-%d %H:%M:%S")
		RECORD_TIME_LAST=$(date -d @$(printf '%.0f\n' $TT_LAST) +"%Y-%m-%d %H:%M:%S")
		TIME_LAG_FIRST=$(expr $TIMESTAMP - $TRANS_TIME_FIRST)
		TIME_LAG_LAST=$(expr $TIMESTAMP - $TRANS_TIME_LAST)
		DELAY_PROCESS=$((`expr $(date -u +"%s") - $TIMESTAMP`))
		TRANS_DIFFTIME=$(expr $TRANS_TIME_LAST - $TRANS_TIME_FIRST)
		counter=100
		else
			echo "file doesn't exist" >/dev/null
		fi	
		if [ "${FILENAME}" != "" ]; 
		then
			echo "${DATE} ${stream} ${FILENAME} ${FILE_CR_TIME} ${RECORD_TIME_FIRST} ${TIME_LAG_FIRST} ${RECORD_TIME_LAST} ${TIME_LAG_LAST} ${DELAY_PROCESS} ${TRANS_DIFFTIME}" | hadoop dfs -appendToFile - /AUDIT/FINAL.csv
		else
			echo "Filename is empty" >/dev/null 
		fi 
	done
((counter++))
sleep 5s
done
}

IUPS()
{
stream=IUPS
path=/sadique/IUPS
counter=0
while [ $counter -le 100 ]
do
	for  files in `printf "%s\n" $path/*.RTM | head -3`
	do
		if [[ -f $files ]];
		then
		TT_FIRST=`awk -F ',' 'NR==1{print $1}' $files`
		TT_LAST=`awk -F ',' 'END{print $1}' $files`
		FILENAME=`ls $files | cut -d '/' -f6`
		TIMESTAMP=$( date -r $files +'%s')
		FILE_CR_TIME=$( date +'%Y-%m-%d %H:%M:%S' -r $files)
                TRANS_TIME_FIRST=$(date -d @$(printf '%.0f\n' $TT_FIRST) +'%s')
		TRANS_TIME_LAST=$(date -d @$(printf '%.0f\n' $TT_LAST) +'%s')
		RECORD_TIME_FIRST=$(date -d @$(printf '%.0f\n' $TT_FIRST) +"%Y-%m-%d %H:%M:%S")
		RECORD_TIME_LAST=$(date -d @$(printf '%.0f\n' $TT_LAST) +"%Y-%m-%d %H:%M:%S")
		TIME_LAG_FIRST=$(expr $TIMESTAMP - $TRANS_TIME_FIRST)
		TIME_LAG_LAST=$(expr $TIMESTAMP - $TRANS_TIME_LAST)
		DELAY_PROCESS=$((`expr $(date -u +"%s") - $TIMESTAMP`))
		TRANS_DIFFTIME=$(expr $TRANS_TIME_LAST - $TRANS_TIME_FIRST)
		counter=100
		else
			echo "file doesn't exist" >/dev/null
		fi	
		if [ "${FILENAME}" != "" ]; 
		then
			echo "${DATE} ${stream} ${FILENAME} ${FILE_CR_TIME} ${RECORD_TIME_FIRST} ${TIME_LAG_FIRST} ${RECORD_TIME_LAST} ${TIME_LAG_LAST} ${DELAY_PROCESS} ${TRANS_DIFFTIME}" | hadoop dfs -appendToFile - /AUDIT/FINAL.csv
		else
			echo "Filename is empty" >/dev/null 
		fi 
	done
((counter++))
sleep 5s
done
}

IUCS()
{
stream=IUCS
path=/sadique/IUCS
counter=0
while [ $counter -le 100 ]
do
	for  files in `printf "%s\n" $path/*| head -3`
	do
		if [[ -f $files ]] && [[ -s $files ]];
		then
		TTHEX_FIRST=`awk -F ',' 'NR==1{print $4}' $files`
		TTHEX_LAST=`awk -F ',' 'END{print $4}' $files`
		TIMESTAMP=$( date -r $files +'%s')
		FILENAME=`ls $files | cut -d '/' -f5`
		FILE_CR_TIME=$( date +'%Y-%m-%d %H:%M:%S' -r $files)
		TRANS_TIME_FIRST=$(date -d @$(expr `printf "%d" 0x$TTHEX_FIRST` / 1000) +'%s')
		TRANS_TIME_LAST=$(date -d @$(expr `printf "%d" 0x$TTHEX_LAST` / 1000) +'%s')
		RECORD_TIME_FIRST=$(date -d  @$(expr `printf "%d" 0x$TTHEX_FIRST` / 1000) +"%Y-%m-%d %H:%M:%S")
		RECORD_TIME_LAST=$(date -d  @$(expr `printf "%d" 0x$TTHEX_FIRST` / 1000) +"%Y-%m-%d %H:%M:%S")
		TIME_LAG_FIRST=$(expr $TIMESTAMP - $TRANS_TIME_FIRST)
		TIME_LAG_LAST=$(expr $TIMESTAMP - $TRANS_TIME_LAST)
		DELAY_PROCESS=$((`expr $(date -u +"%s") - $TIMESTAMP`))
		TRANS_DIFFTIME=$(expr $TRANS_TIME_LAST - $TRANS_TIME_FIRST)
		counter=100
		else
			echo "file doesn't exist" >/dev/null
		fi	
		if [ "${FILENAME}" != "" ] && [ "${FILENAME}" != "*.temp" ];
		then
			echo "${DATE} ${stream} ${FILENAME} ${FILE_CR_TIME} ${RECORD_TIME_FIRST} ${TIME_LAG_FIRST} ${RECORD_TIME_LAST} ${TIME_LAG_LAST} ${DELAY_PROCESS} ${TRANS_DIFFTIME}" | hadoop dfs -appendToFile - /AUDIT/FINAL.csv
		else
			echo "Filename is empty" >/dev/null 
		fi 
	done
((counter++))
sleep 5s
done
}

S1 &
IUPS & 
IUCS &

---------- Post updated at 08:22 AM ---------- Previous update was at 05:45 AM ----------

created a file path and placed below:


Code:
export input1=/sadique/S1
export input2=/sadique/IUPS
export input3=/sadique/IUCS


then:

Code:
#!/bin/sh
DATE=`date +"%Y-%m-%d %H:%M:%S"`   
source /DPI_IN/path

S1()
{
stream=S1
counter=0
while [ $counter -le 100 ]
do
	for  files in `printf "%s\n" ${input1}/*.RTM | head -3`
	do
		if [[ -f $files ]];
		then
		TT_FIRST=`awk -F ',' 'NR==1{print $1}' $files`
		TT_LAST=`awk -F ',' 'END{print $1}' $files`
		FILENAME=`ls $files | cut -d '/' -f6`
		TIMESTAMP=$( date -r $files +'%s')
		FILE_CR_TIME=$( date +'%Y-%m-%d %H:%M:%S' -r $files)
                TRANS_TIME_FIRST=$(date -d @$(printf '%.0f\n' $TT_FIRST) +'%s')
		TRANS_TIME_LAST=$(date -d @$(printf '%.0f\n' $TT_LAST) +'%s')
		RECORD_TIME_FIRST=$(date -d @$(printf '%.0f\n' $TT_FIRST) +"%Y-%m-%d %H:%M:%S")
		RECORD_TIME_LAST=$(date -d @$(printf '%.0f\n' $TT_LAST) +"%Y-%m-%d %H:%M:%S")
		TIME_LAG_FIRST=$(expr $TIMESTAMP - $TRANS_TIME_FIRST)
		TIME_LAG_LAST=$(expr $TIMESTAMP - $TRANS_TIME_LAST)
		DELAY_PROCESS=$((`expr $(date -u +"%s") - $TIMESTAMP`))
		TRANS_DIFFTIME=$(expr $TRANS_TIME_LAST - $TRANS_TIME_FIRST)
		counter=100
		else
			echo "file doesn't exist" >/dev/null
		fi	
		if [ "${FILENAME}" != "" ]; 
		then
			echo "${DATE} ${stream} ${FILENAME} ${FILE_CR_TIME} ${RECORD_TIME_FIRST} ${TIME_LAG_FIRST} ${RECORD_TIME_LAST} ${TIME_LAG_LAST} ${DELAY_PROCESS} ${TRANS_DIFFTIME}" | hadoop dfs -appendToFile - /AUDIT/FINAL.csv
		else
			echo "Filename is empty" >/dev/null 
		fi 
	done
((counter++))
sleep 5s
done
}

IUPS()
{
stream=IUPS
path=/sadique/IUPS
counter=0
while [ $counter -le 100 ]
do
	for  files in `printf "%s\n" ${input2}/*.RTM | head -3`
	do
		if [[ -f $files ]];
		then
		TT_FIRST=`awk -F ',' 'NR==1{print $1}' $files`
		TT_LAST=`awk -F ',' 'END{print $1}' $files`
		FILENAME=`ls $files | cut -d '/' -f6`
		TIMESTAMP=$( date -r $files +'%s')
		FILE_CR_TIME=$( date +'%Y-%m-%d %H:%M:%S' -r $files)
                TRANS_TIME_FIRST=$(date -d @$(printf '%.0f\n' $TT_FIRST) +'%s')
		TRANS_TIME_LAST=$(date -d @$(printf '%.0f\n' $TT_LAST) +'%s')
		RECORD_TIME_FIRST=$(date -d @$(printf '%.0f\n' $TT_FIRST) +"%Y-%m-%d %H:%M:%S")
		RECORD_TIME_LAST=$(date -d @$(printf '%.0f\n' $TT_LAST) +"%Y-%m-%d %H:%M:%S")
		TIME_LAG_FIRST=$(expr $TIMESTAMP - $TRANS_TIME_FIRST)
		TIME_LAG_LAST=$(expr $TIMESTAMP - $TRANS_TIME_LAST)
		DELAY_PROCESS=$((`expr $(date -u +"%s") - $TIMESTAMP`))
		TRANS_DIFFTIME=$(expr $TRANS_TIME_LAST - $TRANS_TIME_FIRST)
		counter=100
		else
			echo "file doesn't exist" >/dev/null
		fi	
		if [ "${FILENAME}" != "" ]; 
		then
			echo "${DATE} ${stream} ${FILENAME} ${FILE_CR_TIME} ${RECORD_TIME_FIRST} ${TIME_LAG_FIRST} ${RECORD_TIME_LAST} ${TIME_LAG_LAST} ${DELAY_PROCESS} ${TRANS_DIFFTIME}" | hadoop dfs -appendToFile - /AUDIT/FINAL.csv
		else
			echo "Filename is empty" >/dev/null 
		fi 
	done
((counter++))
sleep 5s
done
}

IUCS()
{
stream=IUCS
path=/sadique/IUCS
counter=0
while [ $counter -le 100 ]
do
	for  files in `printf "%s\n" ${input3}/*| head -3`
	do
		if [[ -f $files ]] && [[ -s $files ]];
		then
		TTHEX_FIRST=`awk -F ',' 'NR==1{print $4}' $files`
		TTHEX_LAST=`awk -F ',' 'END{print $4}' $files`
		TIMESTAMP=$( date -r $files +'%s')
		FILENAME=`ls $files | cut -d '/' -f5`
		FILE_CR_TIME=$( date +'%Y-%m-%d %H:%M:%S' -r $files)
		TRANS_TIME_FIRST=$(date -d @$(expr `printf "%d" 0x$TTHEX_FIRST` / 1000) +'%s')
		TRANS_TIME_LAST=$(date -d @$(expr `printf "%d" 0x$TTHEX_LAST` / 1000) +'%s')
		RECORD_TIME_FIRST=$(date -d  @$(expr `printf "%d" 0x$TTHEX_FIRST` / 1000) +"%Y-%m-%d %H:%M:%S")
		RECORD_TIME_LAST=$(date -d  @$(expr `printf "%d" 0x$TTHEX_FIRST` / 1000) +"%Y-%m-%d %H:%M:%S")
		TIME_LAG_FIRST=$(expr $TIMESTAMP - $TRANS_TIME_FIRST)
		TIME_LAG_LAST=$(expr $TIMESTAMP - $TRANS_TIME_LAST)
		DELAY_PROCESS=$((`expr $(date -u +"%s") - $TIMESTAMP`))
		TRANS_DIFFTIME=$(expr $TRANS_TIME_LAST - $TRANS_TIME_FIRST)
		counter=100
		else
			echo "file doesn't exist" >/dev/null
		fi	
		if [ "${FILENAME}" != "" ] && [ "${FILENAME}" != "*.temp" ];
		then
			echo "${DATE} ${stream} ${FILENAME} ${FILE_CR_TIME} ${RECORD_TIME_FIRST} ${TIME_LAG_FIRST} ${RECORD_TIME_LAST} ${TIME_LAG_LAST} ${DELAY_PROCESS} ${TRANS_DIFFTIME}" | hadoop dfs -appendToFile - /AUDIT/FINAL.csv
		else
			echo "Filename is empty" >/dev/null 
		fi 
	done
((counter++))
sleep 5s
done
}

S1 &
IUPS & 
IUCS &


Last edited by jim mcnamara; 11-16-2017 at 09:38 AM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell Script to display function names (called & defined) in a C++ Source Code

Hello to all, I am looking for a way to display only the names of function (calls & definition) of a C++ source code.There is already a post related to this, but the script is to find the functions using a specific variable, and the replies are not that convincing since they cannot be used for... (2 Replies)
Discussion started by: frozensmilz
2 Replies

2. Shell Programming and Scripting

A shell script for create a a file in the respective path

Hello forum members, I have to create a out file in the current path./aaa/bbb/ccc/hhh. i am writing script below. ###script Begins##### #!/bin/ksh echo "Weclome" if then echo "Hello" rm -rf $aaa/bbb/ccc/hhh #clean the exsisting o/p file echo "no... (2 Replies)
Discussion started by: rajkumar_g
2 Replies

3. Shell Programming and Scripting

Unable to pass shell script variable to awk command in same shell script

I have a shell script (.sh) and I want to pass a parameter value to the awk command but I am getting exception, please assist. diff=$1$2.diff id=$2 new=new_$diff echo "My id is $1" echo "I want to sync for user account $id" ##awk command I am using is as below cat $diff | awk... (2 Replies)
Discussion started by: Ashunayak
2 Replies

4. Shell Programming and Scripting

Pass a variable string in To_Date Oracle function in shell script

Hello, I am trying to execute an SQL query from shell script. A part of script is something like this: fromDate=`echo $(date +"%F%T") | sed "s/-//g" | sed "s/://g"` $ORACLE_HOME/sqlplus -s /nolog <<EOD1 connect $COSDBUID/$COSDBPWD@$COSDBSID spool... (4 Replies)
Discussion started by: sanketpatel.86
4 Replies

5. UNIX for Dummies Questions & Answers

How to write Config shell script to pass variables in master shell script?

Dear Unix gurus, We have a config shell script file which has 30 variables which needs to be passed to master unix shell script that invokes oracle database sessions. So those 30 variables need to go through the database sessions (They are inputs) via a shell script. one of the variable name... (1 Reply)
Discussion started by: dba1981
1 Replies

6. Shell Programming and Scripting

How to write config shell script to pass variables in master shell script?

Dear Unix gurus, We have a config shell script file which has 30 variables which needs to be passed to master unix shell script that invokes oracle database sessions. So those 30 variables need to go through the database sessions (They are inputs) via a shell script. one of the variable name... (1 Reply)
Discussion started by: dba1981
1 Replies

7. Shell Programming and Scripting

What is the function of the following lines at the top of a shell script file: Directory and Script?

The file starts like this: Directory: <path to the script> Script: <script fife name> #!bin/ksh ##Comments <actual script> What is the use of the first two lines in the script? What if I save the file without them? What will be the effect? They are not comments. Im very new to this,... (4 Replies)
Discussion started by: remytom
4 Replies

8. UNIX for Beginners Questions & Answers

How to pass values to a script called from within another script in shell?

Need ideas on how to achieve the below. We have a script say "profile.sh" which internally calls another existing script called "name.sh" which prompts for the name and age of a person upon execution. When i run profile.sh how can i populate a pre-defined value from another file and pass that... (1 Reply)
Discussion started by: sankasu
1 Replies

9. UNIX for Beginners Questions & Answers

How to pass values to a script called from within another script in shell?

Ceiling Light - The Forgotten Element One of the highest details concerning using an LED ceiling panel essentially offer a fantastic dance floor which definitely makes the customers dance right away.They are a quite low cost method of something like a lighting solution, simple collection up,... (1 Reply)
Discussion started by: harveyclayton
1 Replies

10. UNIX for Beginners Questions & Answers

Pass config file to bash script

I just want to make sure I am understanding how to pass a config file to a bash script . In the below I pass to arguments to a script, then define them in the script as id and config. I then source config using ., if I understand correctly the variables in the config file can now be used by the... (11 Replies)
Discussion started by: cmccabe
11 Replies
All times are GMT -4. The time now is 12:11 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy