Can anybody explain this behavior to me?

I'm searching for files that contain the string "LockFile" in them.  I know of 
one place where it exists already...  But the following command only returns 
one result, which is not the result I already knew existed.

Edwards-MacBook-Pro:mono eharvey$ find . -name '*.cs' -or -name '*.c' -or -name 
'*.h' -exec grep -l LockFile {} \;
./mono/io-layer/io.h

So why did it only return one result?  Just to prove I know the file I know, 
and I haven't made a type-o or anything, I specifically repeat the grep command 
on that specific file:

Edwards-MacBook-Pro:mono eharvey$ grep -l LockFile ./mono/metadata/file-io.c
./mono/metadata/file-io.c

And indeed, I've confirmed, that file does contain the "LockFile" string.  It's 
not a type-o.  So then I wonder if I messed up the find command, perhaps it's 
not actually searching all the *.cs and *.c and *.h files?  To confirm this, I 
just want to ensure find is actually executing on that particular file:

Edwards-MacBook-Pro:mono eharvey$ find . -name '*.cs' -or -name '*.c' -or -name 
'*.h' | grep file-io.c
./mono/metadata/file-io.c

And I see that it *is* executing on that file.  So now I'm stumped.  Why didn't 
the original find command identify file-io.c as one of the search results?
_______________________________________________
Tech mailing list
Tech@lists.lopsa.org
https://lists.lopsa.org/cgi-bin/mailman/listinfo/tech
This list provided by the League of Professional System Administrators
 http://lopsa.org/

Reply via email to