Visit Our UNIX and Linux User Community

Find command with ignore directory

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Find command with ignore directory
# 1  
Old 03-20-2013
RedHat Find command with ignore directory

Dear All,

I am using find command
find /my_rep/*/RKYPROOF/*/*/WDM/HOME_INT/PWD_DATA -name rk*myguidelines*.pdf -print

The problem i am facing here is find /my_rep/*/
the directory after my_rep could be mice001, mice002 and mice001_PO, mice002_PO

i want to ignore mice***_PO directory while search, and look for all other directory mice001, mice002 and so on...

Early help will be appriciated

Last edited by Franklin52; 03-20-2013 at 12:46 PM.. Reason: Please use code tags for data and code samples
# 2  
Old 03-20-2013
Add a not (!) to the find command to exclude that directory.

find /dir/path/ -name 'dir*' ! -name 'dir2'

# 3  
Old 03-20-2013
Originally Posted by in2nix4life
Add a not (!) to the find command to exclude that directory.

find /dir/path/ -name 'dir*' ! -name 'dir2'

That will exclude the directory itself, but not the tree beneath it; find will still descend into its contents and generate output. To prevent that, a -prune is required.

Further, since -name only looks at the basename, -name cannot match an absolute pathname. There could be many instances of dir2 within /dir/path.

A POSIX-compliant invocation will need to use -exec to call test/[ to check the full pathname (via {}). However, a few finds support a -path which can do the job more efficiently.

# 4  
Old 03-20-2013
I'm not sure why you have wild cards in the path. I would expect:
 find /my_rep/ -name "rk*myguidelines*.pdf" -print

---------- Post updated at 01:58 PM ---------- Previous update was at 01:52 PM ----------

Here is a "brute force" solution (often the best way), to avoid the complexities of prune option:
$ find /my_rep/ -name "rk*myguidelines*.pdf" -print > all.txt
$ grep -v "mice..._PO" all.txt > po_excluded.txt

If the find takes a few seconds, this will work. Of course, if the find is taking a while, this may not be good enough.

Previous Thread | Next Thread
Test Your Knowledge in Computers #148
Difficulty: Easy
A free derivative of BSD Unix, 1992BSD, was released in 1992 and led to the NetBSD and FreeBSD projects.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

AIX find ignore directory

I am using aix. I would like to ignore the /u directory. I tried this but it is not working. find / -type f -type d \( -path /u \) -prune -o -name '*rpm*' 2>/dev/null /u/appx/ls.rpm /u/arch/vim.rpm (4 Replies)
Discussion started by: cokedude
4 Replies

2. UNIX for Beginners Questions & Answers

Find command with Ignore Access issues

Hi, I am using following command to find a specific file. find . -name "find*.txt" -type f -print I am issuing that command at root directory since I don't know in which sub folder that file is getting created from some other process. As I am not having access to all directories, my... (3 Replies)
Discussion started by: RameshCh
3 Replies

3. Shell Programming and Scripting

How-To Exclude Directory in find command

How can i tweak the below find command to exclude directory/s -> "/tmp/logs" find . -type f \( ! -name "*.log*" ! -name "*.jar*" \) -printNote: -path option/argument does not work with the version of find that i have. bash-3.2$ uname -a SunOS mymac 5.10 Generic_150400-26 sun4v sparc sun4v (7 Replies)
Discussion started by: mohtashims
7 Replies

4. Shell Programming and Scripting

Find out directory where command is located

so i have a script that i do not want copies of that script to be roaming around. i want that script to be in only one location on the filesystem, and whoever wants to use it should just link to it. any idea on how to exit from a script if it is detected that the running version is a copy and... (5 Replies)
Discussion started by: SkySmart
5 Replies

5. Shell Programming and Scripting

Find Command Include Sub Directory

This script writes the output files to FILES but I don't want to exclude all directories from ABC_CHQ and LYS_ADV, I want to include one sub directory name process which is under ABC_CHQ and LYS_ADV in the search. Right now its excluding everything from prune directories such as ABC_CHQ, LYS_ADV... (10 Replies)
Discussion started by: John William
10 Replies

6. Shell Programming and Scripting

Wget - how to ignore files in immediate directory?

i am trying to recursively save a remote FTP server but exclude the files immediately under a directory directory1 wget -r -N ftp://user:pass@hostname/directory1 I want to keep these which may have more files under them directory1/dir1/file.jpg directory1/dir2/file.jpg... (16 Replies)
Discussion started by: vanessafan99
16 Replies

7. Shell Programming and Scripting

Find: ignore directory completely

Hello, I know find can be prevented from recursing into directories with something like the following... find . -name .svn -prune -a type d But how can I completely prevent directories of a certain name (.svn) from being displayed at all, the top level and the children? I really... (2 Replies)
Discussion started by: nwb123
2 Replies

8. Shell Programming and Scripting

Find command, -name by directory and subdirectory?

Hi All, I'm trying to use the find command to return matches for a directory and file. For example, given the following directories: /one/two/three/file1.txt /one/three/two/file1.txt /one/four/two/three/file1.txt I'm expecting the following to be returned: ... (16 Replies)
Discussion started by: makodarear
16 Replies

9. UNIX for Dummies Questions & Answers

how to find a file named vijay in a directory using find command

I need to find whether there is a file named vijay is there or not in folder named "opt" .I tried "ls *|grep vijay" but it showed permission problem. so i need to use find command (6 Replies)
Discussion started by: amirthraj_12
6 Replies

10. UNIX for Dummies Questions & Answers

using find command only in current directory

I am trying to use the find command to find files in the current directory that meet a certain date criteria. find . -type -f -mtime +2 However, the above also checks the directories below. I tried -prune, but that seems to ignore this directory completely. I read about using -path w/... (5 Replies)
Discussion started by: jliebling
5 Replies

Featured Tech Videos