I have a script which runs the next command:

find /storage2/hpfiles_staging/ -name \*.gz -mmin +600

And then rsync's the files to a remote location.

Sometimes the find command returns no output (as there are no files named *.gz with age of 10 minutes or more in that location). When it happens, I want to write a message to the log saying there are no files there.

But when I run the find command, whether it finds files to transfer or not the exit code of the find command is always "0" (unless there's a syntax error of course) and thus cannot give me indication about files being found in that location or not.

Is there any switch or a trick to get a different exit code than 0 if no files have been found by the find command?

Thanks in advance

marked as duplicate by yoonix, Andrew Schulman, mdpc, EEAA, Ward Mar 2 '15 at 4:24

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • I just thought about something... I could check using wc -l how many lines of output were received from the find command... – Itai Ganot Feb 24 '15 at 11:28
  • Just save the output to a variable and check if it's empty. I'll link to an existing question here that shows you how to do that next. – yoonix Feb 24 '15 at 11:29

I don't think you can affect the exit code from find. You should perhaps look to capture the output from find and use that to determine if any files where found.

Not the answer you're looking for? Browse other questions tagged or ask your own question.