Sponsored Content
Top Forums Shell Programming and Scripting Excluding directories from a find Post 302684773 by nixie on Friday 10th of August 2012 04:00:51 AM
Old 08-10-2012
Thanks for the quick reply guruprasadpr

I tried
Code:
ScriptDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"  # Evaluates to /home/username/wd
X="-name $ScriptDir/ -o -name /home/username/mail"
find $PathToCheck -type d  \( $X \) -prune -o  -print  -exec md5sum '{}' >TestFind.txt

and got the following:
Code:
find: warning: Unix filenames usually don't contain slashes (though pathnames do).

That means that -name '/home/username/wd/'' will probably evaluate to false all the time on this system. You might find the -wholename test more useful, or perhaps -samefile. Alternatively, if you are using GNU grep, you could use find ... -print0 | grep -FzZ '/home/username/wd/'.
find: warning: Unix filenames usually don't contain slashes (though pathnames do). That means that -name '/home/username/mail' will probably evaluate to false all the time on this system. You might find the -wholename test more useful, or perhaps -samefile. Alternatively, if you are using GNU grep, you could use
Code:
find ... -print0 | grep -FzZ '/home/username/mail'
find: missing argument to '-exec'

Also tried this
Code:
ScriptDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"  # Evaluates to /home/username/wd
X="-name $ScriptDir/ -o -name /home/username/mail"
find $PathToCheck -type d  \( $X \) -prune -o  -print  -exec md5sum "{}" \;>TestFind.txt

and got a ton of error messages md5sum: /../.../../: Is a directory. And all the directories under /home/username/mail were still included. -print isn't needed because I only need the output from the md5sum, and "" must be used for the substituion from find to work. The find must only give files, not directories so I also tried:

Code:
ScriptDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"  # Evaluates to /home/username/wd
X="-name $ScriptDir/ -o -name /home/username/mail"
find $PathToCheck -type f  \( $X \) -prune -o  -exec md5sum "{}" \;>TestFind.txt

which still gave a ton of errors about Is a directory and both the directories that should have been excluded were processed.

Any suggestions?

Last edited by methyl; 08-12-2012 at 01:15 AM.. Reason: Please use code tags and avoid embedding code in text. If you get an error message, please post the exact error message.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

excluding directories while using tar

How do I exclude some directories while creating a tar file with a number of directories? thanks. (2 Replies)
Discussion started by: uchachra
2 Replies

2. Shell Programming and Scripting

excluding directories in tar

In a bash script I am writing I am having a problem excluding selected directories from tar. From the machine $SERVER I issue the command #start netcat on storage server gnetcat -l -vv -p 2011 >$FILEPATH/$SHORT_NAME.$today.tar & The the following command is then sent to the $CLIENT. #start... (2 Replies)
Discussion started by: thumper
2 Replies

3. Shell Programming and Scripting

cp -r excluding certain directories?

I want to recursively copy /home/me/someProject/* to a /home/you/ but I want to exclude directories called "classes". I can't find any option for excluding certain directories. Does such a thing exist, or any workaround, or am I missing something obvious> (2 Replies)
Discussion started by: sarnobat
2 Replies

4. UNIX for Dummies Questions & Answers

Excluding directories with find

How do I exclude directories with the find command on Solaris? I want to skip the directories /proc and /shared. find / -nouser -print This shows me all files and directories that don't have an owner but I need to skip /shared and /proc. I've been able to get it to work on Linux... (3 Replies)
Discussion started by: x96riley3
3 Replies

5. UNIX for Dummies Questions & Answers

Copy Directories excluding files

Hi guys, I want to copy folder and sub folders only. I don't want the files. If i use cp -r command it will copy entirely with files. Could any one suggest me. Thanks in advance (1 Reply)
Discussion started by: karthik82
1 Replies

6. UNIX for Dummies Questions & Answers

List directories and sub directories recursively excluding files

Hi, Please help me, how to get all the direcotries, its sub directories and its sub directories recursively, need to exclude all the files in the process. I wanted to disply using a unix command all the directories recursively excluding files. I tried 'ls -FR' but that display files as... (3 Replies)
Discussion started by: pointers
3 Replies

7. Shell Programming and Scripting

Copy files/directories excluding multiple paterns

my directory structure is like below: basedir\ p.txt q.htm r.java b\ abc.htm xyz.java c\ p.htm q.java rst.txt my requirement is i want to copy all the files and directories... (0 Replies)
Discussion started by: ajayyadavmca
0 Replies

8. Solaris

Flarcreate and excluding directories with software installed

Got a solaris 10 server that I want to take a flar of in order to use to build a new server. Works fine. Only trouble is there is software on the original server that is not needed on the new server - it will be uninstalled. I was thinking of creating the flar from the original server and... (0 Replies)
Discussion started by: psychocandy
0 Replies

9. UNIX for Advanced & Expert Users

Find all files in the current directory excluding hidden files and directories

Find all files in the current directory only excluding hidden directories and files. For the below command, though it's not deleting hidden files.. it is traversing through the hidden directories and listing normal which should be avoided. `find . \( ! -name ".*" -prune \) -mtime +${n_days}... (7 Replies)
Discussion started by: ksailesh1
7 Replies

10. Shell Programming and Scripting

Find command excluding directories and some files

hello. I try to print a list of files but excluding some directories and some files. I would like to write a command for : find "from_dir" "ignore dir1, dir2, ..." "ignore file1, file2,...." "where file are older than 2017-02-03T06:00:00" Note that "DO_IT" is a local function in the script... (5 Replies)
Discussion started by: jcdole
5 Replies
All times are GMT -4. The time now is 11:16 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy