Sponsored Content
Top Forums Shell Programming and Scripting Unable to do grep in a script Post 302994387 by dsid on Wednesday 22nd of March 2017 11:15:01 AM
Old 03-22-2017
Quote:
Originally Posted by vgersh99
one potential issue that I can see:
Code:
xtr_flnm_list="${xtr_flptrn1}""${inst_nmb}"-"{$file_x_date}"."{$list_file}"

should be
Code:
xtr_flnm_list="${xtr_flptrn1}${inst_nmb}-${file_x_date}.${list_file}"

misplaced {-s.
You don't need extra double-quotes in blue
Edit the script and continue debugging looking at the output of tracing and making modifications...
thanks a lot for pointing out the mistakes. also I have changed the script to bash again cos it seems the regex pattern matching is not avaiable in ksh ...continuing to edit, will let you know

---------- Post updated at 03:15 PM ---------- Previous update was at 02:47 PM ----------

Hi, OK, iv edited the script a bit --just changed the places of the statements and some formatting, but it kind of gets stuck coming to the grep function Smilie. Kind of lost as to how to move forward, cos iv been stuck here before with not much clue

Code:
#!/bin/bash

set -x

#static value assignment to a variable

list_file=lst	   #taking a variable into extraction list file

enc_tar_xtnsn=tar.gz.enc	#taking a variable into extraction encrypted file 

xtr_flptrn1=bw3-syst_INST 	#taking a variable into extraction file path

#main_scp=/usr/local/scripts/omniadm/omnftppasrv/extract.sh  #main extraction script

echo "Enter file processing date [YYYYMMDD]"
read file_x_date       

echo "Inst nu:"
read inst_nmb      

#breaking 80byte_flnm into YYYYMM and DD

yr_mnth=`echo "${file_x_date}"|awk '{print substr($0,1,6)}'`

only_dt=`echo "${file_x_date}"|awk '{print substr($0,7,8)}'`

#variable value assigned dynamically based on static value assignemnt above

xtr_flnm_list="${xtr_flptrn1}${inst_nmb}-${file_x_date}.${list_file}"    #taking a variable into extraction file name

#---echo $xtr_flnm_list

xfile_pth=/backup/omnftppasrv/bw3/"${yr_mnth}"  # storing extraction file path into a variable

#---echo $xfile_pth

enc_tar_filename="${xtr_flptrn1}${inst_nmb}-${file_x_date}.${enc_tar_xtnsn}"

#---echo $enc_tar_filename

#cmptl_extr_list_file=$xfile_pth/$xtr_flnm_list	#storing complete file name with path into a variable

#echo $cmptl_extr_list_file

cmptl_extr_enc_file="${xfile_pth}/${enc_tar_filename}"

echo $cmptl_extr_enc_file

func_xtract_file()
{
#building regex for date searching
regex="$yr_mnth"\[0-9\]\[0-9\]

#building date searching regex list file
xtr_regex="${xtr_flptrn1}${inst_nmb}-${regex}.${list_file}"

cmptl_extr_list_file="${xfile_pth}/${xtr_regex}"	#storing complete file name with path into a variable

#echo $cmptl_extr_list_file

#grepping the filename from list file
/bin/grep "$flnm_80BYTE" "${cmptl_extr_list_file}"
}

echo "filename to extract"
read flnm_80byte    

	if [[ "$flnm_80byte" =~ .*\.prc ]]
	then
		echo "correct file name"
		#assigning variable for grep pattern searching
		flnm_80BYTE=$flnm_80byte
		echo "calling func_xtract_file"
		func_xtract_file
	elif [[ "$flnm_80byte" =~ .*\.inc ]]
	  then
		  strppd_flname=`echo $flnm_80byte|awk '{print substr($0, 1, length($0) - 4)}'`
		  flnm_80BYTE=$strppd_flname\.prc
		  echo $flnm_80BYTE
		  echo "calling func_xtract_file"
		  func_xtract_file
	  else
		  flnm_80BYTE=$flnm_80byte\.prc
		  echo $flnm_80BYTE
		  echo "calling func_xtract_file"
		  func_xtract_file
	fi
#script ends here

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

unable to grep the following pattern

I have the following line in file1 elif ; then now if i try to grep this using following command grep -e "elif ; then" file1 it is showing nothing... how to grep such patterns (2 Replies)
Discussion started by: suri
2 Replies

2. Shell Programming and Scripting

grep or awk problem, unable to extract numbers

Hi, I've trouble getting some numbers from a html-file. The thing is that I have several html-logs that contains lines like this: nerdnerd, how_old_r_u:45782<br>APPLY: <hour_second> Verification succeded This is some of what I've extracted from a html file but all I really want is the number... (7 Replies)
Discussion started by: baghera
7 Replies

3. Shell Programming and Scripting

Log file is not getting created & unable to grep error from it

Hi All, Below is my code,what I am trying to do is redirecting output of ftp to a log file & then greping the errors but here I am unable to grep "Permission denied" error only & also the corresponding log file is also not getting created. #!/bin/sh . cfg USER='abc' PASSWD='abc123' ... (4 Replies)
Discussion started by: ss_ss
4 Replies

4. Shell Programming and Scripting

Unable to grep control/non printable characters

Unable to grep: Able to grep: (11 Replies)
Discussion started by: proactiveaditya
11 Replies

5. Shell Programming and Scripting

unable to grep the running processes.

Hi All, We have a shell script(ODS_Load)which loads the data from perticular flat file to oracle table invoking sqlplus based on the parameter. When we execute the script(ODS_Load) independently, script is working fine and able to load the tables successfully. We invoke(ODS_Load) with... (1 Reply)
Discussion started by: Nagaraja Akkiva
1 Replies

6. Shell Programming and Scripting

unable to match grep pattern

Hi All, I am trying to select all files in a directory which are not with .gz extension . for which I am using below script , but its rejecting both .gz and .z extension files,as in each letter is considered separately. PFB ls -lrt | awk '{print $9}'| egrep "^IRAMS.*$" please suggest... (1 Reply)
Discussion started by: Jcpratap
1 Replies

7. UNIX for Dummies Questions & Answers

unable to grep the reqd field

hi all, i have a data sm thg like this 28504 0 abc 148782859 42 101M nhmmmm ilopo abc 2345432 i want to get only the field which is just aftr abc i,e., 148782859, 2345432 i have used grep /abc\t/ filename to get that but its not working can any 1 help me out (5 Replies)
Discussion started by: anurupa777
5 Replies

8. UNIX for Dummies Questions & Answers

Unable to grep

I have a file with 2 lines of code Rome is in Romeo Romeo is in Rome How do I grep, so that only last line would be the outcome. sample output Romeo is in Rome I have tried with all possible greps but its resulting in both the lines in output. Please help. (6 Replies)
Discussion started by: gotamp
6 Replies

9. Shell Programming and Scripting

Unable to grep the process

I have user1 run a script called logginexpert.sh while has this line of code sleep 888I then login to another putty session with another user2 and try to grep for the logginexpert.sh process using ps -ef | grep exSunOS mymac 5.11 11.2 sun4u sparc SUNW,SPARC-Enterprise But, i dont get any... (20 Replies)
Discussion started by: mohtashims
20 Replies

10. Shell Programming and Scripting

Unable to grep using wildcard in a file.

I wish to check if my file has a line that does not start with '#' and has 1. Listen and 2. 443 echo "Listen 443" > test.out grep 'Listen *443' test.out | grep -v '#' Listen 443 The above worked fine but when the entry changes to the below the grep fails... (2 Replies)
Discussion started by: mohtashims
2 Replies
All times are GMT -4. The time now is 06:52 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy