script to check for existence of file (or else sleep for x time)


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting script to check for existence of file (or else sleep for x time)
# 8  
Old 03-28-2011
Quote:
Originally Posted by pchang
Thanks for your quick reply.

After I removed the ']]' from the ARR syntax, I'm still getting the same error -

0403-057 Syntax error at line 29 : `(' is not expected.

See my code below:

Code:
# Setup working variables
source_directory="$1"
src_list_files="$2"
sleep_time=$3
 
while read source_file G
do
 
  # Insert all entries into an array.  If there's more than one that's not an error.
  ARR=( "${UPLD_DIR_BASE}${source_directory}/${source_file}"*[0-9]*.[dD][aA][tT]* )
 
  while [[ -z "${ARR[0]}" ]]
  do
     echo "No match for ${UPLD_DIR_BASE}${source_directory}/${source_file}*[0-9]*.[dD][aA][tT]*"
 
     # Sleep for x amount of time
     sleep $sleep_time
 
     ARR=( "${UPLD_DIR_BASE}${source_directory}/${source_file}"*[0-9]*.[dD][aA][tT]* )

  done
 
done < "${UPLDSH_DIR}/${src_list_files}"

Also I wasn't clear on my first posting, basically, script should check for existence of file(s) and if not there go to sleep for x mins.

After x mins, the script should terminate.

thanks for helping out a fellow Canadian/Torontonian. Smilie
you forgot the line setting up the UPLD_DIR_BASE

UPLD_DIR_BASE=/data/data2/staging
# 9  
Old 03-28-2011
sorry ctsgnb.

I didn't include the first few lines of the script since it's setting a bunch of environment variables.

Code:
#!/usr/bin/ksh

# Setup environment variables
. /data/informatica/ming/Scripts/EDW_ENV_PARM.sh

script is complaining about array syntax not the missing path.

thanks.
# 10  
Old 03-28-2011
You may have an old version of ksh that doesn't support the () array syntax... Try this for size:
Code:
set -A ARR "${UPLD_DIR_BASE}${source_directory}/${source_file}"*[0-9]*.[dD][aA][tT]*

# 11  
Old 03-28-2011
or a
Code:
set -- "${UPLD_DIR_BASE}${source_directory}/${source_file}"*[0-9]*.[dD][aA][tT]*

Code:
for i in $*
do
...
done

.... but ok some limitations may be encountered regarding the number of args
# 12  
Old 03-28-2011
This has the side-effect of destroying your commandline parameters. Which is okay since you saved all the ones you cared about already; but just so you know.

Also, you'd need to do if [ -f "$1" ], not if [ -f "${ARR[0]}" ]

---------- Post updated at 11:56 AM ---------- Previous update was at 11:52 AM ----------

Quote:
Originally Posted by ctsgnb
.... but ok some limitations may be encountered regarding the number of args
The same limitation may exist for arrays anyway. Since we're only checking if the first element exists it's probably immaterial.
# 13  
Old 03-28-2011
Try with this, This work in bash
Code:
while [[ ! -e "${ARR[0]}" ]]

# 14  
Old 03-28-2011
Excellent guys - it's working now:

Code:
set -A ARR "${UPLD_DIR_BASE}${source_directory}/${source_file}"*[0-9]*.[dD][aA][tT]*

I'm busy with other things right now so I will test out the script later.

I might need your help later on.

---------- Post updated at 04:43 PM ---------- Previous update was at 02:01 PM ----------

Quote:
Originally Posted by Corona688
This has the side-effect of destroying your commandline parameters. Which is okay since you saved all the ones you cared about already; but just so you know.

Also, you'd need to do if [ -f "$1" ], not if [ -f "${ARR[0]}" ]

---------- Post updated at 11:56 AM ---------- Previous update was at 11:52 AM ----------

The same limitation may exist for arrays anyway. Since we're only checking if the first element exists it's probably immaterial.
sorry - I don't get why I need to check for
Code:
if [ -f "$1" ] instead of if [ -f "${ARR[0]}"

what's $1? Don't I need to check if the array is empty?

Also if there are 2 sets of files "MF_FF_201011.dat" and "MF_FF_201012.dat", what will the array contain with this statement?

Code:
set -A ARR "${UPLD_DIR_BASE}${source_directory}/${source_file}"*[0-9]*.[dD][aA][tT]*

thanks.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script to check the files existence inside a directory.

Hello Folks, On Below Script, I want to apply condition. Condition that it check the directory for files if not found keep checking. Once directory have files and founded do the calculation and finish the code. Script to check the files existence inside a directory, If not then keep... (16 Replies)
Discussion started by: sadique.manzar
16 Replies

2. Shell Programming and Scripting

File existence check

hi i wanted to check if the file exist or not(multiple files) DIRE=/home/V478 if ; then echo "file present" else echo "file not present" fi But i am getting the error as : [: unexpected operator/operand (3 Replies)
Discussion started by: ATWC
3 Replies

3. Shell Programming and Scripting

Script to check for the file existence, if file exists it should echo the no of modified days

Hi, I am looking for a shell script with the following. 1. It should check whether a particular file exists in a location #!/bin/sh if ; then echo "xxx.txt File Exists" else echo "File Not Found" fi 2. If file exists, it should check for the modified date and run a command... (2 Replies)
Discussion started by: karthikeyan_mac
2 Replies

4. UNIX for Dummies Questions & Answers

To check for existence of a file

I need to check for the existence of a file *.log in a specific directory using a perl script. Presently am not in that particular directory. So i am using chdir ("/path/to/my/file) And then i am using the -e in an if statement to check if it exists. if (-e $File) {......} $File contains the... (1 Reply)
Discussion started by: manutd
1 Replies

5. Shell Programming and Scripting

script to check if another script is running and if so, then sleep for sometime and check again

Hi, I am a unix newbie. I need to write a script to check wheteher another script is still running. If it is, then sleep for 30m and then check again if the script is running. If the script has stopped running then, I need to come out of the loop. I am using RHEL 5.2 (2 Replies)
Discussion started by: mathews
2 Replies

6. Shell Programming and Scripting

Check for file existence using wildcards

I am using the following command to check for files on a Unix (Solaris 9) and on Linux: if (-r *.) then echo " las file found" else echo " no las file found" endif If no las file is present, the "no las file found" message is displayed. If a las file is present, however, I get... (9 Replies)
Discussion started by: phudgens
9 Replies

7. Shell Programming and Scripting

How to check for file existence?

i want to check if the file is in the directory or not, and also it should be handle error conditions, like missing files and report the error and exit. i did something like this: file ="hello" if !test -e "${file}" then echo "No such files exist!" exit 1 else do something....... fi ... (1 Reply)
Discussion started by: mingming88
1 Replies

8. AIX

Check for File Existence

I have requirement where i need to search for files which start with SALESORDER and PURCHASEORDER. i need to process the files with SALESORDER first and then PURCHASEORDER. If SALESORDER files are not there i dont want to process PURCHASEORDER and i want to come out of script. I have written a code... (4 Replies)
Discussion started by: dsdev_123
4 Replies

9. AIX

check for file existence

Hello I am having a requirement like if there is no file in the directory then i need a message to pop on after the execution of the script. My script basically does for File in `ls -t $DIRECTORY | tail -1`; if there is no file the DIRECTORY then the script is simply exiting with out... (2 Replies)
Discussion started by: dsdev_123
2 Replies

10. Shell Programming and Scripting

Csh to check for existence of file

Hi, I would like to check the existence of files (doesn;t matter the number of files) in a directory. My file is named in the following manner (always ending with " myfile "). Can anybody give me some guidance? EG: abc1_myfile sdfr_myfile sffgd_myfile and so on ...... My... (9 Replies)
Discussion started by: Raynon
9 Replies
Login or Register to Ask a Question