Exclude directories in FIND command


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Exclude directories in FIND command
# 1  
Old 10-20-2016
Exclude directories in FIND command

Can you please help tweak the below command to exclude all directories with the name "logs" and "tmp"

Code:
find . -type f \( ! -name "*.tar*" ! -name "*.bkp*" \) -exec /usr/xpg4/bin/grep -i "user_1" /dev/null {} + >result.out

Code:
bash-3.2$ uname -a
SunOS mymac 5.10 Generic_150400-26 sun4v sparc sun4v

I would prefer a single line command executed on the terminal and not a script with multiple line. But either is fine.
# 2  
Old 10-20-2016
Did you consider the negated -path test, or the -prune action?
# 3  
Old 10-20-2016
Quote:
Originally Posted by RudiC
Did you consider the negated -path test, or the -prune action?
I did try -pathbut it fails

Code:
find . -type f \( ! -name "*.tar*" ! -name "*.bkp*" ! -path "*/logs/*" \) -exec /usr/xpg4/bin/grep -i "user_1" /dev/null {} + >result.out
find: bad option -path
find: [-H | -L] path-list predicate-list

I don't know how to use -prune here. Can you help ?
# 4  
Old 10-20-2016
This is immediately from man find:
Quote:
find . -name .snapshot -prune -o \( \! -name *~ -print0 \)
Do you feel able to adapt it to your problem?
# 5  
Old 10-20-2016
Well, in this case it is
Code:
find . -type d \( -name "logs" -o -name "tmp" \) -prune -o ...

# 6  
Old 10-20-2016
Power

Quote:
Originally Posted by MadeInGermany
Well, in this case it is
Code:
find . -type d \( -name "logs" -o -name "tmp" \) -prune -o ...

Did you discard the exclusion of files that i mentioned in the OP ?

You seem to have only mentioned exclusion of directory while i wanted exclusion of files (which works in the OP command) along with the directories.

Kindly help.

---------- Post updated at 03:36 PM ---------- Previous update was at 03:34 PM ----------

Quote:
Originally Posted by RudiC
This is immediately from man find:
Do you feel able to adapt it to your problem?
I am not able to understand your suggestion so as to make changes to include the directories along with the files. Can you tweak the command in the OP to include directories is what i m seeking help for.

Please help.

---------- Post updated at 03:36 PM ---------- Previous update was at 03:36 PM ----------

Quote:
Originally Posted by RudiC
This is immediately from man find:
Do you feel able to adapt it to your problem?
I am not able to understand your suggestion so as to make changes to include the directories along with the files. Can you tweak the command in the OP to include directories is what i m seeking help for.

Please help.
# 7  
Old 10-20-2016
Hi,

Can you please try this ?

file list:
Code:
$ mkdir logs logs1 tmp tmp1
$ ls
basic.log  file1.bkp  file2.bkp  logs  logs1  tar1.tar  tar2.tar  tmp  tmp2  try.sh

Code:
find . ! -path "logs*" ! -path "tmp*" -type f \( ! -name "*.bkp" ! -name "*.tar" \)

Gives output:
Quote:
./basic.log
./try.sh
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need Tar Ball command to exclude directories

Hi, uname -a SunOS mymac 5.11 11.2 sun4u sparc SUNW,SPARC-Enterprise I need to tar a folder /tmp/moht but do not want these three folders to be included in the tar file -> savejpg, bmpsave and imgsave I tried --exclude, -path, -not options but it says bad option Can you help me with... (3 Replies)
Discussion started by: mohtashims
3 Replies

2. AIX

Exclude Directories in my tar command

Hi, im having some issues after i execute the next command: tar -cvf /varios/restore/test.tar -X /jfma/test1/excludefile /jfma | gzip -c > /varios/restore/test.tar.gz this creates the desired "test.tar.gz" file, but whe i try to open it it says "tar: 0511-164 There is a media read or write... (6 Replies)
Discussion started by: blacksteel1988
6 Replies

3. UNIX for Dummies Questions & Answers

Using grep command to find the pattern of text in all directories and sub-directories.

Hi all, Using grep command, i want to find the pattern of text in all directories and sub-directories. e.g: if i want to search for a pattern named "parmeter", i used the command grep -i "param" ../* is this correct? (1 Reply)
Discussion started by: vinothrajan55
1 Replies

4. UNIX for Dummies Questions & Answers

Find command to exclude directories and setup alias or script?

Hi, Firstly - sorry for the duplicate my other post looked like i was posting a how to for people. But i am wanting some help :P I want to search from / to find files and exclude my mounted ntfs drives. I have found this thread (Which I can't post the URL to until i have 5 posts) it's... (4 Replies)
Discussion started by: mightymouse2045
4 Replies

5. Shell Programming and Scripting

Perl exclude directories in command line

Hi, I use find command to list all the files in a directory and its sub-directories, but the problem is to exclude certain directories during search. Can i give the directory names in command line to skip them and search rest of the directories? For example i have directories: test ../test1... (1 Reply)
Discussion started by: nmattam
1 Replies

6. Shell Programming and Scripting

Help - Find command to exclude sub-directories

Hi Forum. I'm trying to write a script that finds and deletes files that are older than 300 days. The script will read a table that contains the following 3 columns: 1st col: “Y” means sub-directory scan; "N" means no subdirectory scan 2nd col: sub-directory location 3rd col: File prefix... (7 Replies)
Discussion started by: pchang
7 Replies

7. UNIX for Dummies Questions & Answers

How to Exclude multiple directories from find command?

Hi, Can some one help me how to exclude multiple directories using find command.. I have the directory structure below. /a/a1/b1 /a/c1/c2 /a/d1/d2/d3 I want to exlcude a1,c2and d3 from the above using find,can some one suggest pls.. thanks in advance... Use code tags... (1 Reply)
Discussion started by: jagadish_gaddam
1 Replies

8. Shell Programming and Scripting

Find but exclude directories

Hello, I have a line in my script to find the files changed in the last 24 hours. It is as below: find /home/hary -type f -mtime -1 I now want to exclude a directory named "/home/hary/temp/cache" from the above find command. How do I add it to my script? Any help is appreciated. ... (9 Replies)
Discussion started by: tadi18
9 Replies

9. UNIX for Dummies Questions & Answers

find command to exclude directories

Howdy I have this directory structure ... eep eepaptest eepfatest eepgltest eep.old eeppoptest ehf ehfaptest ehfgltest ehp ehpgltest I want to find files in these directories, but I want to exclude eep, ehf & ehp. Cany anyone help with the correct command ?? (1 Reply)
Discussion started by: SmurfGGM
1 Replies
Login or Register to Ask a Question