testing if files exist


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers testing if files exist
# 1  
Old 04-13-2008
testing if files exist

I am trying to test arguments to see if they are files in any directory.

I have :
[ $# -f 0 ]

but it's not working
# 2  
Old 04-13-2008
Is your script supposed to be invoked with the files you want to process, and terminate if they don't exist? $# indicates how many arguments there were (presumably you want to abort if there were none) but to check whether the named file(s) exist, you give them as arguments to "test -f".

Code:
case $# in 0) echo no files, try again >&2 ;; esac
for f in "$@"; do
  if [ -f "$f" ] ; then
    ... handle file
  else
    echo "$0: file $f not found -- skipping" >&2
  fi
done

# 3  
Old 04-13-2008
when I run my program and enter 2 arguments at the command line it is not checking to see if the 2 arguments are files or not.

I have tried

if [ -f filename ]
elif [ -f $1 -o $2 ]

I guess I don't know how to make it so it uses the 2 arguments as filenames and then searches for them.
# 4  
Old 04-13-2008
That's the loop. If you always want exactly two arguments and they both need to exist, you can do that too. The -o doesn't "remember" what you did before so you need to tell it again to look for a file.

Code:
if [ -f "$1" -o -f "$2" ]

The loop I posted earlier works for any number of file names, and checks each of them in turn; but if two need to exist at the same time, it won't check for that. (Of course, then you need -a "and", not -o "or".)
# 5  
Old 04-30-2008
How to check if a file exists

I need to check following three things:

a) a file exists but is zero byte
b) a file exists with non-zero bytes
c) a file doesn't exist at all

What switches do we use? Is it -f, -s, -z. Please explain the difference in these!

Many Thanks
Shalua
# 6  
Old 05-01-2008
You know enough to be better served by finding the documentation and reading that. It's more precise and more authoritative than any of us here, on a typical day. Read man sh and maybe man test if you have that.
# 7  
Old 05-01-2008
I am looking for an answer to my question. Any pointers or answers will be appreciated.

Thanks
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Find command when there exist many files

I want to run find and wondering if it struggles when there are many files. I have tried and does not seem to complain. Is this correct? (8 Replies)
Discussion started by: kristinu
8 Replies

2. UNIX for Beginners Questions & Answers

Check if 10 files exist

Hi All, Whenever i get 10 files(file names like sales*) then another file need to create. May i know how to implement this in KSH. (4 Replies)
Discussion started by: siddireddy
4 Replies

3. Shell Programming and Scripting

File exist for multiple files

Hi, I am unable to achieve the file exist conditions if there are multiple files same similar name for e.g. in a $Direct i am having files like aus.txt aus.txt_pr aus.txt_2012 i need to put a file exist condition like which is not working then echo "File present" but the... (9 Replies)
Discussion started by: rohit_shinez
9 Replies

4. Shell Programming and Scripting

Script to mail if files do not exist

Hi all! I need some help with a script, but I want to make it better, my script prints the last two files on each directory: echo " " echo "******************* mediation_sgsn:***********************" ls -lrt /moneta_collected03/mediation_sgsn | tail -2 echo " " echo... (6 Replies)
Discussion started by: fretagi
6 Replies

5. UNIX for Dummies Questions & Answers

Rsync copy files if dont exist

I have a setup where I have two drives. TV TVbackup For what ever reason, I have a lot of content on my TVbackup drive which isn't on my TV drive. I want to copy all the files across which are on TVbackup but are not currently on TV. If there is a file with the same name but a... (2 Replies)
Discussion started by: Spadez
2 Replies

6. Shell Programming and Scripting

bash script for testing existence of files/folders and creating if neither exist

Hi, I am new to shell-scripting, and doing a lot of reading. I am having some trouble getting started with a simple testing of scripting. I have been experimenting with if, loops, for, test, etc., but still unsure. I seem to have the hang of it when it comes to creating a single file or... (6 Replies)
Discussion started by: me2
6 Replies

7. Shell Programming and Scripting

Find out whether files exist.

I have the following data stored in a file. 1 /home/file13 /home/file2 2 /home/file41 /home/file654 3 /home/file61 /home/file45 4 /home/file81 /home/file43 ... I want to print the first column provided the files represented by the second and third column exist. How to do that? (3 Replies)
Discussion started by: kevintse
3 Replies

8. Shell Programming and Scripting

Delete files if they exist

In a directory a number of files named res0.om res1.om ... resN.om where N can be any unknown number between 1 and 999 Please help me filling out the gaps in the following csh script: I need to delete all files exept res0.om The easy way is rm res1* rm res2* rm res3* rm res4*... (5 Replies)
Discussion started by: pederlol
5 Replies

9. Shell Programming and Scripting

perl: When dealing with files that do not exist

I have a process run weekly where I must convert data formats for about thirty files. I read a text file that provides all of the filenames and switch settings. My perl code is: for ($j = 1; $j <= $k; $j++) { open(FIN2,$fin2) || die "open: $!"; do other stuff } Every once in... (2 Replies)
Discussion started by: joeyg
2 Replies

10. Shell Programming and Scripting

How to check a file exist and do a copy of other files

Hi, I would like to perform bash which would check the file A.txt to be size 0 or not. If the size is 0, I would copy file B.txt to replace A.txt. Please help. Thanks. -Jason (6 Replies)
Discussion started by: ahjiefreak
6 Replies
Login or Register to Ask a Question