check if file is empty


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting check if file is empty
# 1  
Old 09-24-2005
check if file is empty

How do I check if a file is empty in a sh script

I want to test in my shell script if the output file is empty and if it is do one thing and if it isnt empty do another?

any ideas?
# 2  
Old 09-24-2005
Read the man pages of test

Code:
       -s FILE
              FILE exists and has a size greater than zero


Within a script it would take this form.

Code:
#! /bin/ksh

if [[ -s $FILE ]] ; then
echo "$FILE has data."
else
echo "$FILE is empty."
fi ;

vino
# 3  
Old 09-24-2005
Quote:
Originally Posted by vino
Code:
#! /bin/ksh

if [[ -s $FILE ]] ; then
echo "$FILE has data."
else
echo "$FILE is empty."
fi ;

vino
an exit status of 1 indicates that the FILE is empty or the file does not exist.....

Code:
$ ls
$ touch file_1
$ dd if=/dev/zero of=$HOME/tmp/file_2 bs=1 count=100
100+0 records in
100+0 records out
$ ls -l file_1 file_2 file_3
ls: file_3: No such file or directory
-rw-rw-r--  1 foo bar   0 Sep 24 20:28 file_1
-rw-rw-r--  1 foo bar 100 Sep 24 20:28 file_2
$ [[ -s file_1 ]]
$ echo $?
1
$ [[ -s file_2 ]]
$ echo $?
0
$ [[ -s file_3 ]]
$ echo $?
1

Cheers
ZB
# 4  
Old 09-24-2005
Quote:
Originally Posted by zazzybob
an exit status of 1 indicates that the FILE is empty or the file does not exist.....

Code:
$ ls -l file_1 file_2 file_3
ls: file_3: No such file or directory
-rw-rw-r--  1 foo bar   0 Sep 24 20:28 file_1
-rw-rw-r--  1 foo bar 100 Sep 24 20:28 file_2
$ [[ -s file_1 ]]
$ echo $?
1
$ [[ -s file_2 ]]
$ echo $?
0
$ [[ -s file_3 ]]
$ echo $?
1

Cheers
ZB
A sleek 'n' smart solution !! Smilie
# 5  
Old 09-24-2005
this is just another way of doing it

a round about one

Code:
if [ `ls -l <file> | awk '{print $5}'` -eq 0 ]
then
//condition for being empty
else
//condition for not being empty
fi

better way of doing is using the -s option of test
# 6  
Old 09-27-2005
Thanks guys

All worked as I required -s FILE option was the solution I used in my script and now I am a happy man.
# 7  
Old 07-24-2007
Question What if I want ot check for a file size greater than say 487

I have a requirement where if file size is 487 then ignore it otherwise put into e-mail script? I can do it using -s but it does only if file is empty...
any clue on this please???
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

To check whether the file is empty or not in shell script (sh)

Hi All, I need to check a file whether it exists and also whether it is empty or not. I have a code for this but it is not working as per my requirement. Can anyone pls suggest me on this. function funcFLSanityCheck { if then echo "${varFLSentFileListPath}/${varFLSentFileName}... (7 Replies)
Discussion started by: Arun1992
7 Replies

2. Shell Programming and Scripting

How to check if the file is empty or has blank space.?

Hi, I am using KSH. I am trying to check if the output file is empty or not. I tried with ] but what i see is my file is empty but still manages to have a size of 1 instead of 0. But my file doesnot have anything its empty. I am not sure how to check this. can any one help? (10 Replies)
Discussion started by: Sharma331
10 Replies

3. Shell Programming and Scripting

Empty file check

Hi gurus , I have two files and i want to perform different action based on the condition if both or either is empty If then Do something elif then do something elif then do something else do something fi I have tried the below bt its not... (4 Replies)
Discussion started by: r_t_1601
4 Replies

4. UNIX for Dummies Questions & Answers

Check if file is empty with variables, bash

Hello again! I have some trouble with scripting in bash. In the following script I read from a folder with the files line0_Ux.xy line1_Ux.xy line2_Ux.xy . . . Some of the files are empty. For those I would like to print a "0" in list. I think the problem with the code is that... (4 Replies)
Discussion started by: bjoern456
4 Replies

5. Shell Programming and Scripting

Condition to check whether configuration file is empty or not?

CMD=$(find "${Release_Container}" -iname "${Release_Name}"_Release.txt) for i in `cat $CMD` do if ];then cd ${Sandbox_dir} CMD1=$(find "${Sandbox_dir}"/* -iname "${Release_Name}" -type d | awk -F/ '{print $(NF)}' | head -1 ) if ];then echo -e "################### CHECKOUT START... (2 Replies)
Discussion started by: anuragpgtgerman
2 Replies

6. Shell Programming and Scripting

Check if a text file is empty or not (using ls -s)

Hello, I want to make a script which says if a text file is empty or not. I tried two ways of making it, but I have problems with both of them. Now I think that the better way is the ls -s solution (considering that an empty text file has a 0 weight, because "cat file.txt" fails when file is... (4 Replies)
Discussion started by: Link_
4 Replies

7. Shell Programming and Scripting

Need to check for empty file in C shell script

I am running a C shell script. I have an output file from a previous step and I need to run "something" in the next step to check if the file is empty. If the file is empty, then the job script should finish EOJ. If the file is not empty then the job script should abend. Please help Thanks. (4 Replies)
Discussion started by: jclanc8
4 Replies

8. UNIX for Dummies Questions & Answers

to check if file is empty or not and return a non zero value

Hi All, I am new to unix worldd . I need to check a file1 if its empty or not. If its empty then return a non zero value say 99 could you pls let me know the perl script for this. (2 Replies)
Discussion started by: mavesum
2 Replies

9. UNIX for Dummies Questions & Answers

How to check if a file is empty?

Hi Masters..... I have problem !!! I need to check number of records in a file and if it is zero or file is empty i need to do some task. if ; then echo "File s empty" else echo "Not empty" fi so how to check this condition. I used wc -l < filename.txt => 1 for zero records same result... (1 Reply)
Discussion started by: shreekrishnagd
1 Replies

10. UNIX for Dummies Questions & Answers

How to check for empty file in Perl?

Hi, May I know how to check for empty file in Perl. Iam missing something, somewhere. #!/usr/bin/perl my $open_dir = '/path/'; my $file; my $ma = "abc_.*.\.psv\$" opendir(VAR, $open_dir) or die "Can't open $oepn_dir: $!\n"; while( defined ($file = readdir VAR) ) #read all... (1 Reply)
Discussion started by: deepakwins
1 Replies
Login or Register to Ask a Question