Help with the find cmd


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Help with the find cmd
# 1  
Old 07-11-2012
Help with the find cmd

Hello,
I'm having a trouble with the find cmd.
I would like to find all the java versions on my systems.
I have solaris 9 & 10 RHEL and SUSIE.

Code:
java -version

doesn't give all the versions on the server.

So I am trying to use the find command to find them all
Code:
find / -name java

I would like to exclude some directories such as Solaris zones, /tmp and mounted files systems. I don't need directories, I just what the files.

Can someone help me out?
# 2  
Old 07-11-2012
To find just regular files:
Code:
find / -name java -type f

# 3  
Old 07-11-2012
Thanks for the info.
I tried the command you gave me and it worked great. Is there a way though to exclude a directory, like for example /export/zones?
# 4  
Old 07-11-2012
two ways:
Code:
find / -name java -type f | grep -v '^/export/zones'
# another way
find / \( -name java -a ! -name '/export/zones/*' \)  -type f

I prefer the grep approach.
# 5  
Old 07-11-2012
Quote:
Originally Posted by jim mcnamara
two ways:
Code:
find / -name java -type f | grep -v '^/export/zones'
# another way
find / \( -name java -a ! -name '/export/zones/*' \)  -type f

I prefer the grep approach.
Because it's more readable?

It looks to me as though your find command won't work. The -name primary only handles basenames. There will never be a forward slash in a basename so ! -name '/export/zones/*' will always evaluate true.

The following should do it (untested):
Code:
find / -type f -name java -print -o \( -path /export/zones -prune \)

Regards,
Alister

---------- Post updated at 02:12 PM ---------- Previous update was at 02:07 PM ----------

Quote:
Originally Posted by bitlord
Thanks for the info.
I tried the command you gave me and it worked great. Is there a way though to exclude a directory, like for example /export/zones?
To exclude N directories (untested):
Code:
find / -type f -name java -print     \
       -o \( -path /dir1 -prune \)   \
       -o \( -path /dir2 -prune \)   \
       -o \( -path /dir3 -prune \)   \
...
       -o \( -path /dirN -prune \)

Regards,
Alister
# 6  
Old 07-11-2012
All those -o's is also why I prefer the grep (-E) option Smilie
# 7  
Old 07-11-2012
jim mcnamara,
I was able to get your example to work on both Solaris and RHEL,thanks.
Code:
find / -name java -type f | grep -v '^/export/zones'

alister,
Your examples didn't work on Solaris but worked on RHEL.
Code:
find / -type f -name java -print -o \( -path /tmp -prune \)

I got this error in Solaris
Code:
find: bad option -path
find: path-list predicate-list

Thanks for the help everyone. Sorry I was so late getting back to you, sooner, I had to step away from my desk.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Find cmd and sym links

Hi. Can somebody tell me if there's a way of creating a symbolic link from a directory on one filesystem to that on another that will allow a find command that doesn't use the -L param to locate a particular file under that new 'linked' dir. With a normal sym link the find command on that... (6 Replies)
Discussion started by: user052009
6 Replies

2. Shell Programming and Scripting

Nested find cmd

Hi gurus, greetings. Objective: find in a path directories that are named Logs. In each found Logs dir search for files with .log extension and remove -atime +6. (Note for test/example, rm and -atime is not used). Issue: If I execute the script without redirecting output to a file, on... (8 Replies)
Discussion started by: rsheikh
8 Replies

3. Shell Programming and Scripting

find cmd works different on cron job ?

/usr/bin/find $SEARCH_DIR -daystart \( \( -name 'KI*' -a -name '*.csv' \) -o -name '*_xyz_*' \) -mtime $DAYS_AGO -printf %f -printf "\n" | sort -r > $FILES The above command gives different results when run on a cron job. When run manually the result is accurate. (2 Replies)
Discussion started by: nuthalapati
2 Replies

4. Shell Programming and Scripting

How to link lsof and find cmd?

Hi All, My target is to find the biggest files opened by any process and from that i have to find process id and the corresponding file also to avoid file system being hung-up. Finding the process id: is to kill the process Finding the biggest file: is to remove the file To get the process... (0 Replies)
Discussion started by: Arunprasad
0 Replies

5. Shell Programming and Scripting

date with find cmd

Hi for today i have 10 files, in that i need search some values how can i write a find cmd with perticular date thanks SAIC (4 Replies)
Discussion started by: saic
4 Replies

6. Shell Programming and Scripting

Find cmd not working correctly in script

I am trying to copy 2 types of files so I can archive them. I tested with a set of commands: touch -t $(date -d "-60 day" +%Y%m%d) WORKDIR/REF find TARGETDIR/ -type f -maxdepth 1 -iname \*.out\* -or -iname \*.log\* ! -newer WORKDIR/REF -exec ls -l {} \; This correctly lists any files in the... (2 Replies)
Discussion started by: prismtx
2 Replies

7. Shell Programming and Scripting

how to find status of last executed cmd in perl?

In shell we can find the status of last executed command by $? In perl what is the command to find the status of last executed command... Can any one please say??????????????? Thanks, Prabhu (1 Reply)
Discussion started by: prsampath
1 Replies

8. Shell Programming and Scripting

using find cmd to find certain files

i have a list of files below: rwxrwxrwx 1 pipe pipe 180 Mar 4 22:47 del_0n_Date -rwxrwxrwx 1 pipe pipe 472 Mar 4 22:58 mail_Check -rw-r--r-- 1 pipe pipe 92 Mar 4 22:58 minfo.txt -rwxrwxrwx 1 pipe pipe 609 Mar 5 05:12... (6 Replies)
Discussion started by: ali560045
6 Replies

9. Solaris

Find cmd working in Linux and not in SunSolaris 5.8

find . -type f -mtime -1 -ls command not working in sun solaris 5.8 (4 Replies)
Discussion started by: navjotbaweja
4 Replies

10. Shell Programming and Scripting

Find cmd not working as expected

Hi, i wan to search the file starting with Admin into the directory Output. I am running below command: find /appl/Output -name "Admin*" -prune but this command is going into the sub directories present under output. I do not want to search under sub directories. Any help will be highly... (6 Replies)
Discussion started by: Vishal123
6 Replies
Login or Register to Ask a Question