Check to see if a file exists?

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Check to see if a file exists?
# 1  
Old 06-28-2011
Check to see if a file exists?

Hi. I'd like to have an IF-Then-Else statement where I can check to see if a file exists? We have the Bourne Shell by default. I'm looking for the syntax to do something like this:

if myfile.txt exists then code

else code

end if

Any help would be greatly appreciated. Thanks.
# 2  
Old 06-28-2011
Have a read of your man page of test.
This User Gave Thanks to Franklin52 For This Post:
# 3  
Old 06-28-2011
This User Gave Thanks to itkamaraj For This Post:
# 4  
Old 06-28-2011

if [ -f myfile.txt ]
          # Do something
          # Do something else

See the man pages for your Shell for the syntax of "if" and "man test" for detail on the options. There are subtle variations between unix computers. The "-f" option is universal but you won't always find the "-e" option mentioned in post #3.
# 5  
Old 06-28-2011
Originally Posted by methyl
if [ -f myfile.txt ]

The OP asked about if a file exists...
However a file may exist, but NOT be a regular file...
if [ -a myfile.txt ]

Should be be considered as an alternative.

EDIT: @methyl, Not trying to teach you, because you could teach me a lot, just trying to point out to the OP a different test construct.

Last edited by AlphaLexman; 06-28-2011 at 10:54 PM..
# 6  
Old 06-29-2011
Originally Posted by AlphaLexman
if [ -a myfile.txt ]

Should be be considered as an alternative.
Possibly being a bit too picky here....
Neither the POSIX nor the Linux man pages for test list -a as a valid syntax other than when used as an AND: expression -a expression . I believe that -a is deprecated and that -e is the preferred option to test if a file exists.

There is an interesting disclaimer in the SunOS version of the test manual page. It does list -a and -e, but indicates that neither is available under sh. This implies that the Bourne shell distributed by Sun is a customised version with the test command built-in rather than existing as an external binary. The OP didn't list their O/S, but if they are using some flavour of SunOS, then the -f option might be the best thing available, or they may need several specific tests if indeed they are sussing out non-regular files.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Check that at least one file exists in the directory.

There are some files with suffix dates like abc_20032019.dat abc_17032019.dat If at least one file exists then perform some operation else exit from execution. Korn shell ---------------------------------- array=($inputdir/abc*.dat) If ] ] then echo " file exits" else echo " file does... (10 Replies)
Discussion started by: Rajesh123
10 Replies

2. UNIX for Beginners Questions & Answers

Check if file exists

I need to check whether a file exists and has been changed. The file should contain a specific string. The file should also have been changed within the last ten seconds. How do I do that? (3 Replies)
Discussion started by: locoroco
3 Replies

3. Shell Programming and Scripting

To check if file exists

Hi, I have the below code written. However I am not getting the desired output I am checking if the particular path has file in it. #!/bin/bash ls -l /IRS2/IRS2_ODI/INFILE/*LS* 1>/dev/null 2>/dev/null if then echo $? echo "File Exists" fi ... (3 Replies)
Discussion started by: Shanmugapriya D
3 Replies

4. Shell Programming and Scripting

Check if a string exists in a file

bash in RHEL 6.3 I have these 2 files with strings. $ cat someStrings.txt LOGICAL1 HUNGARY2 PENGUIN2 MOBILE GUITAR1 MOUSE1 $$ cat checkIF.txt PENGUIN MOBILE $I need to search for strings in someStrings.txt file that matches the patterns in checkIF.txt file. The strings in... (7 Replies)
Discussion started by: kraljic
7 Replies

5. Shell Programming and Scripting

Check if file exists or not

Hi, I want to check if the file exists or not in the directory. i am trying below code but not working. File="/home/va59657/Account_20090213*.dat" echo "$File" if ]; then echo "file found" else echo "file not found" fi However i am getting file not found even if file exits as... (5 Replies)
Discussion started by: Vivekit82
5 Replies

6. Shell Programming and Scripting

Check whether file exists in directory

Hi guys, I am beginner trying to learn unix. So any help is welcomed. My requirement is to check whether is a file exists in a particular directory or not. The directory path and filename are taken dynamically with user interaction. So the program should continue only if the $filename... (1 Reply)
Discussion started by: maris_markur
1 Replies

7. Shell Programming and Scripting

File exists, but cannot be opened.How to check- whether it could be opened to read when it exists

Hi #Testing for file existence if ; then echo 'SCHOOL data is available for processing' else echo 'SCHOOL DATA IS NOT AVAILABLE FOR PROCESSING' : i wrote a script, where it begins by checking if file exists or not. If it exists, it truncates the database... (2 Replies)
Discussion started by: rxg
2 Replies

8. Shell Programming and Scripting

how to check to see if a file exists?

I want to write a script to see if various files exist. What I want to do is have the script search in various directories if a file exist, and if not, then output something like "/path/file does not exist". I don't actually know of how to check and see if a file exists or not. What I have in mind... (2 Replies)
Discussion started by: astropi
2 Replies

9. Shell Programming and Scripting

SFTP check if file exists

I lookifn for a way to SFTP a file based on the presence of a flag file . The logic is some thing like this in shelling terms IF ]; then download file.DDMM.dat FI The above is just the way of interpreting the logic. Just want to add that i do not have SSh access to the remote... (2 Replies)
Discussion started by: phpsnook
2 Replies

10. Shell Programming and Scripting

Check file exists from a shellscript

Hi, I have a list of files that I want to check to see if they exist and then count how many of these files exist, I also want to do the same for the files that arent found. I have done this by creating temp files see below but want ot do this using variables instead: for FILE in... (7 Replies)
Discussion started by: tonydsam
7 Replies
Login or Register to Ask a Question