help with find function


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting help with find function
# 1  
Old 03-12-2009
Tools help with find function

Hi,

Im using a find function to find a specific file and print it.
eg.
find /path -name filename -type f -print -exec more '{}' \;

The problem I have is that I need to know if the file has not been fount (ie it does not exist).
I had a look at the find function and could not find anything relevant. I also tried adding another -exec statement that would increment a counter, giving me a number of instances but -exec doesnt seem to accept most shell commands.
Huh, this should be so simple and its been driving me nuts Smilie

Also, while at it, is there any way to only process one result... eg. only print the first instance of the file found?

Any ideas?

Thanks!!!
# 2  
Old 03-12-2009
You can try something like this :

Code:
find /path -name filename -type f > /tmp/list
if [ $? -ne 0 ]; then
   echo "File not found"
else
   echo "Number of occurence of filename : \c"
   cat /tmp/list | wc -l
   echo "First occurence is : \c"
   head -n1 /tmp/lst
fi

# 3  
Old 03-12-2009
I should mention that I do not want to use any external files... It all needs to be executed within a single script...

Thanks for the idea though!

Its a very simple function the Im writing that finds and prints a specific file...but the location of the file can vary which is why I'm using find.
Also, I want to be able to print an error if the file does not exist.
# 4  
Old 03-12-2009
If you dont want an external file you can do this like that :

Code:
find /path -name filename -type f >/dev/null
if [ $? -ne 0 ]; then
   echo "File not found"
else
   i=1
   for file in `find /path -name filename -type f`
   do
      if [ $i -eq 1 ]; then
         echo "First occurence is : $file"
      fi
      i=$(($i + 1))
   done
   echo "Number of occurence of filename : $(($i - 1))
fi

# 5  
Old 03-12-2009
Excellent...

Thanks, that will work.
I tried using $? previously but it tends to return 0 even if the file does not exist.
the "for file in" idea works though.

Thanks very much!!!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Find function script

Hi everybody, I want your help on what, I suppose, might seem a simple task to many of you. the deal is to write a script that will look in a specific folder to see if there is any file whose size is bigger than say 1M and if so to execute a command. like if then log_rotate fi ... (3 Replies)
Discussion started by: lenci_xc
3 Replies

2. Shell Programming and Scripting

find function

Hi, There is requirement where I need to search if a particular directory name is present or not and if its present I need to collate the paths of the directories in a file. I tried the below command echo $(find /home/mqm -name "check")>>config.txt Its saving the paths in one line(like... (7 Replies)
Discussion started by: jayii
7 Replies

3. Shell Programming and Scripting

Call function from Find command

I am writing a bash script in which I am using the find command to find files, and then I'd like to send the output to a function (in the same script) that will process those results (such as test if the file is an image, and other things). However, try as I might, I can't get the function to... (6 Replies)
Discussion started by: twjolson
6 Replies

4. Shell Programming and Scripting

use File::Find function

Hello, I'm learning the perl's Find function using unix but I keep getting this error when running the script: "Not a CODE reference at /usr/lib.perl5/5.8.8/File/Find.pm line 822" - what does this mean? Does anyone know??? Here's my script: use File::Find; find (\$dir,$ENV{HOME}); ... (4 Replies)
Discussion started by: new bie
4 Replies

5. Shell Programming and Scripting

use internal function with find command

Hi, I need to use a function in the find command to do some process on the file. I'm trying: funcname(){ ... } ... find ./ -name "*" -exec funcname {} \; But somehow this is not working. I don't want to have a separate script for whatever processing the function does. I want to have... (1 Reply)
Discussion started by: victorcheung
1 Replies

6. Shell Programming and Scripting

find function name in a program file

Hello All, Is there any way to find a function name in a program file using perl. for example, there is a file called Test.C in that . . void function1(..) { <some code> } int function2(..) { . . sam() /*RA abc100*/ ... .. .. xyz()/*RA abc201*/ .. (8 Replies)
Discussion started by: Parthiban
8 Replies

7. Shell Programming and Scripting

want to find out a function name in a cpp file

I have an error in my logs as it shows some function name . 1. I dnt know where is the file.cpp located only i know the machine . 2. How to find out that the function name is loacated in which path and which file into that machine. Thanks . (1 Reply)
Discussion started by: madfox
1 Replies

8. Shell Programming and Scripting

script to find function names

hi, i am a newbie and have to write a rather complicated script. Assume that i have a variable called x and a C source code file say file1.c (these are the inputs of the script) and i need to find the names of all the functions in the C file containing x.Take the following code as an example: ... (2 Replies)
Discussion started by: samantha grace
2 Replies

9. UNIX for Dummies Questions & Answers

FIND function - system wide

Hi, I have a task to search for a file called 'Xstartup' in the whole system because there might be different versions of it which overrite eachother. Can anyone suggest a smart command to run this search ? The machine needs to scan every single folder beginning from root. Please help, I am... (5 Replies)
Discussion started by: DGoubine
5 Replies

10. UNIX for Dummies Questions & Answers

find function

I was trying the following "find" command to search for a particular file in UNIX directories: find / -name <filename> -print Result on the screen appears like: find: cannot open <..> ..permission denied Is there any way, I could avoid these type of search results and only see the... (2 Replies)
Discussion started by: pkumar_syd
2 Replies
Login or Register to Ask a Question