Checking for existence of a flat file in UNIX !


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Checking for existence of a flat file in UNIX !
# 1  
Old 04-25-2008
Checking for existence of a flat file in UNIX !

Hi All,

I have a requirement where in i need to check for existence of a file and later execute some pmcmd commands related to informatica. I tried many ways but was unsuccessful could you please throw some light. Below are the sample codes i wrote.

Example 1:

#!/bin/ksh
file_path=/export/home/orainfodev/sam s
filename="voke.txt"
for file in $file_path; do
[[ -f $filename ]]
pmcmd startworkflow -u Administrator -p SADMIN -s odsdbq1:4001 -f IR_Custom WF_Test_Mapping
done

Example 2:

#!/bin/ksh
if (! -e "/u01/app/informatica/7.1.4/server/TgtFiles/sample.txt")
then
pmcmd startworkflow -u Administrator -p SADMIN -s odsdbq1:4001 -f IR_Custom WF_Test_Mapping
else
echo "Sorry Cannot start the workflow as there is no file existing in the folder"
fi

Example 3:

#!/bin/ksh
filename = "export/home/orainfodev/invoke.txt"
if test -f "$filename" then
echo "file exists"
else
echo "file does not exists"
fi


Example 4:

#!/bin/ksh
echo "Please enter a file name"
read fname
if test -f "$fname"
then echo "$fname exists"
else
echo "$fname does not exists"
fi

Thanks & Regards,
Ariean.
# 2  
Old 04-25-2008
All of your attempts are very close. As far as I can tell, the last one should have worked -- can you say what error message you get?

Quote:
Example 1:

#!/bin/ksh
file_path=/export/home/orainfodev/sam s
filename="voke.txt"
for file in $file_path; do
[[ -f $filename ]]
pmcmd startworkflow -u Administrator -p SADMIN -s odsdbq1:4001 -f IR_Custom WF_Test_Mapping
done
The -f command is just fine, but you are not using the result for anything. You could wrap that in an "if" or other conditional and it would have worked. Also the file_path needs to be put in double quotes when you declare it. Presumably the file_path paths are directories in which you want to look for voke.txt?

Code:
for file in /export/home/orainfodev/sam s ; do
    if test -f $file/voke.txt; then
        pmcmd startworkflow -u Administrator -p SADMIN -s odsdbq1:4001 -f IR_Custom WF_Test_Mapping
    else
        echo "$0: $file/voke.txt: not found" >&2
    fi
done

(Isn't the workflow command supposed to refer to the file you are checking for also, though? Either by descending into the directory where you found it, or via a command-line parameter.)

Quote:
Example 2:

#!/bin/ksh
if (! -e "/u01/app/informatica/7.1.4/server/TgtFiles/sample.txt")
then
pmcmd startworkflow -u Administrator -p SADMIN -s odsdbq1:4001 -f IR_Custom WF_Test_Mapping
else
echo "Sorry Cannot start the workflow as there is no file existing in the folder"
fi
The parentheses in the "if" are not correct syntax, but again, very close.

Quote:
Example 3:

#!/bin/ksh
filename = "export/home/orainfodev/invoke.txt"
if test -f "$filename" then
echo "file exists"
else
echo "file does not exists"
fi
You need a semicolon before the "then", or put it on a new line. Then this would work. Sheer bad luck you didn't stumble over the solution at this point.

Quote:
Example 4:

#!/bin/ksh
echo "Please enter a file name"
read fname
if test -f "$fname"
then echo "$fname exists"
else
echo "$fname does not exists"
fi
This works for me under bash. Some shells might be picky about requiring new lines after "then" and "else", maybe.
# 3  
Old 04-25-2008
i've moved the thread from "solaris" to "shell scripting..." because this is no solaris related question.

greets,
DN2
# 4  
Old 04-25-2008
Thanks for your reply, based on your suggestion i tried rewriting the code as below but some how i didn't understand why it is executing the statement in the else part even after the condition in the if statement is true or satisfied or pmcmd command getting executed. Could you please throw some light. Thank you.

==================

#!/bin/ksh
for file in /export/home/orainfodev/sam s ; do
if test -f $file/invoke.txt; then
pmcmd startworkflow -u Administrator -p SADMIN -s odsdbq1:4001 -f IR_Custom WF_Test_Mapping
else
echo "$0: $file/invoke.txt: not found" >&2
#echo "Could not able to find the file, cannot execute the workflow thanks!"
fi
done

=================
# 5  
Old 04-25-2008
Quote:
Originally Posted by Ariean
Thanks for your reply, based on your suggestion i tried rewriting the code as below but some how i didn't understand why it is executing the statement in the else part even after the condition in the if statement is true or satisfied or pmcmd command getting executed. Could you please throw some light. Thank you.

==================

#!/bin/ksh
for file in /export/home/orainfodev/sam s ; do

Do you really intend to loop over two files, "/export/home/orainfodev/sam" and "s"?

If that is intended to be a single file, it needs to be quoted. And, if so, why are you using a loop?

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Command script for checking a file existence

Hello, I have a directory where sometimes appear a certain file name - and I'd like to be notified by email when that happens... so what command or script I may use? e.g. if there's a file named "adam" in the directory named "dir1" then send a mail to "abc@abc.com".. it needs to permanently... (5 Replies)
Discussion started by: netrom
5 Replies

2. Shell Programming and Scripting

Checking for the file existence

Hi, I have written a script to validate the data file by referreing to the configurtion file. And moving the validated good records and bad records into HDFS. Suppose after 15 mins if i receive one more data fie,then after validation the good and bad records shold be stored in hadoop with the... (8 Replies)
Discussion started by: shree11
8 Replies

3. Shell Programming and Scripting

Checking file existence along with condition

Hi am trying to write a script which find the existence of a file from a find command output and perform a task if the file exists. Help me out with the correct syntax . Am trying with the following one but unable to get the output. if then <some tasks> else echo "file not exists" fi (5 Replies)
Discussion started by: rogerben
5 Replies

4. Shell Programming and Scripting

Checking existence of file using awk

Hi, I need to check whether a particular file exists ot not using awk. Can anyone help me please? For Example:script that i am using: awk '{filename =$NF; rc=(system("test -r filename")) print $rc;}' "$1" is not working. Here I am passing a text file as input whose last word contains a... (6 Replies)
Discussion started by: manish007
6 Replies

5. Shell Programming and Scripting

checking the file existence using ssh

Hi Can any body say me the reason for below error ssh -o 'StrictHostKeyChecking no' user@client ' && print "1"' I am getting error as "Missing ]":wall: (6 Replies)
Discussion started by: ramesh12621
6 Replies

6. Shell Programming and Scripting

Checking the existence of a file before getting last modified

Hi, I am trying to check the existence of a file, from a list of possible filenames: status-A status-B status-C before retrieving the last modified datetime using ls, I want to check it exists or ls will throw an error. So I have tried this: if ; then ls status-* fi But the if... (3 Replies)
Discussion started by: LostInTheWoods
3 Replies

7. Shell Programming and Scripting

Multiple file existence and checking file size

I want to check the files in particular directory are more that 0 Bytes i.e, Non zero byte file. The script should print a msg if all the files in that directory are empty( 0 Byte). (2 Replies)
Discussion started by: lathish
2 Replies

8. Shell Programming and Scripting

Checking Multiple file existence

Hi, I want to check multiple files exist or not in a single if statement in korn Shell:confused:. Please help me Thanks (1 Reply)
Discussion started by: lathish
1 Replies

9. Shell Programming and Scripting

Checking the existence of a file..

Hi, I am trying to check for the existence of a file using the 'test' and the file existence options. When trying to check for a file with a space in between e.g 'Team List', it gives the following error. learn1: line 3: test: `Team: binary operator expected I am pasting my code below as... (7 Replies)
Discussion started by: igandu
7 Replies

10. Shell Programming and Scripting

checking file existence

Hi, My requirement was to check the existence of a file having a specified pattern.The way i tried to achieve this was if ; then echo "File found" fi an example file having this pattern was 'ilvs_trace01.0124'. it will vary... (3 Replies)
Discussion started by: DILEEP410
3 Replies
Login or Register to Ask a Question