Sponsored Content
Top Forums UNIX for Dummies Questions & Answers find Search - Find files not matching a pattern Post 302843174 by rbatte1 on Monday 12th of August 2013 09:19:21 AM
Old 08-12-2013
Hello and welcome kilobyter,

Your question also needs to clarify what logic do you want?

If you want to exclude files that are both user AAA and group BBB:-
Code:
find . ! -user AAA -o ! -group BBB

If you want to exclude files that are either user AAA or group BBB:-
Code:
find . ! -user AAA -a ! -group BBB

It all looks a bit backwards, but that's because of the negation you want. In the first, this would list a file that had owner CCC or group DDD because it doesn't matches one of the two criteria (i.e. not owner AAA or group BBB) Consider the four files:-
Code:
-rwxrwxrwx 1 AAA BBB 0 Aug 12 14:00 File1
-rwxrwxrwx 1 CCC BBB 0 Aug 12 14:00 File2
-rwxrwxrwx 1 AAA DDD 0 Aug 12 14:00 File3
-rwxrwxrwx 1 CCC DDD 0 Aug 12 14:00 File4

Which do you want?

If you want to see File2, File3 & File4, then use the "not or not" form.
If you want to see File4 only, use the "not and not" second form.


Does this help?




Robin
This User Gave Thanks to rbatte1 For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script to find file name for non matching pattern

Hi, I want to list only the file names which do not contain a specific keyword or search string. OS: Solaris Also is there any way ; through the same script I can save the output of search to a CSV (comma seperated) so that the file can be used for inventory purpose. Any assistance will... (5 Replies)
Discussion started by: sujoy101
5 Replies

2. UNIX for Dummies Questions & Answers

Find files matching a pattern

Hi, I am writing a BASH shell script. I would like to count all the files in the CURRENT directory matching a specific pattern. Could someone suggest the best/simplest way to do this. I have thought of these solutions (for simplicity the pattern is all files starting with A): ls -1 *A | wc -l... (5 Replies)
Discussion started by: msb65
5 Replies

3. UNIX for Dummies Questions & Answers

find files NOT matching name pattern

Hi, I have following files in my directory: /TESTDONTDEL> ls -alt total 14 drwxr-xr-x 2 oracle dba 1024 May 15 06:30 . -rw-r--r-- 1 oracle dba 40 May 15 06:30 exception.txt -rw-r--r-- 1 oracle dba 19 May 15 06:22 ful_1234_test1.txt -rw-r--r-- 1... (2 Replies)
Discussion started by: sagarparadkar
2 Replies

4. Shell Programming and Scripting

Using find command to search a pattern in group of files

Hi i am having a group of *.csh files under parent directory. Now i want to search a particular pattern in these group of *.csh files(suppose i need to search a pattern ABC - proj ). Can anyone please tell me how to do it using find command. Thanks in advance sarbjit (4 Replies)
Discussion started by: sarbjit
4 Replies

5. Shell Programming and Scripting

To find files by matching a pattern in file name

Hi all, I have to check whether certain files exist using a if statement. I have to check this by matching a pattern of filename: e.g. if ] This statement should be "true" if any files like test.dat11, test.dat22 etc are present in the source dir. However, this statement is checking only... (2 Replies)
Discussion started by: sweety123
2 Replies

6. Shell Programming and Scripting

how to find files matching a pattern and zip

Hi, I want to find all directories matching given pattern in current directory and zip those files. I am trying to do somethign like this. But it is not working. for FNAME in $(find . -type d | grep './\{2\}-\{2\}$'); do zip -r MatchedFiles.zip $FNAME rm -fr $FNAME done ... (4 Replies)
Discussion started by: james423
4 Replies

7. Shell Programming and Scripting

Help me to find files in a shell script with any matching pattern

Hi friends.. I have many dirs in my working directory. Every dir have thousands of files (.jsp, .java, .xml..., etc). So I am working with an script to find every file recursively within those directories and subdirectories ending with .jsp or .java which contains inside of it, the the pattern... (3 Replies)
Discussion started by: hnux
3 Replies

8. Shell Programming and Scripting

Find all matching words in text according to pattern

Hello dear Unix shell professionals, I am desperately trying to get a seemingly simple logic to work. I need to extract words from a text line and save them in an array. The text can look anything like that: aaaaaaa${important}xxxxxxxx${important2}ooooooo${importantstring3}...I am handicapped... (5 Replies)
Discussion started by: Grünspanix
5 Replies

9. UNIX for Dummies Questions & Answers

Find pattern suffix matching pattern

Hi, I am trying to get a result out of this but fails please help. Have two files /tmp/1 & /tmp/hosts. /tmp/1 IP=123.456.789.01 WAS_HOSTNAME=abcdefgh.was.tb.dsdc /tmp/hosts 123.456.789.01 I want this result in /tmp/hosts if hostname is already there dont want duplicate entry. ... (5 Replies)
Discussion started by: rajeshwebspere
5 Replies

10. Shell Programming and Scripting

Find: filename in every subdirectory matching a pattern

Hi, I have multiple directories built in following manner /app/red/tmp /app/blue/upd /app/blue/tmp /app/green/tmp /app/red/upd /app/green/upd I have filenames having pattern ONE.XXX.dat TWO.ZZZ.dat and so on across the folders listed above My objective is to list all filenames of a... (4 Replies)
Discussion started by: wahi80
4 Replies
Wanted(3pm)						User Contributed Perl Documentation					       Wanted(3pm)

NAME
File::Find::Wanted - More obvious wrapper around File::Find VERSION
Version 1.00 SYNOPSIS
File::Find is a great module, except that it doesn't actually find anything. Its "find()" function walks a directory tree and calls a callback function. Unfortunately, the callback function is deceptively called "wanted", which implies that it should return a boolean saying whether you want the file. That's not how it works. Most of the time you call "find()", you just want to build a list of files. There are other modules that do this for you, most notably Richard Clamp's great File::Find::Rule, but in many cases, it's overkill, and you need to learn a new syntax. With the "find_wanted" function, you supply a callback sub and a list of starting directories, but the sub actually should return a boolean saying whether you want the file in your list or not. To get a list of all files ending in .jpg: my @files = find_wanted( sub { -f && /.jpg$/ }, $dir ); For a list of all directories that are not CVS or .svn: my @files = find_wanted( sub { -d && !/^(CVS|.svn)$/ }, $dir ) ); It's easy, direct, and simple. WHY DO THIS
? The cynical may say "that's just the same as doing this": my @files; find( sub { push @files, $File::Find::name if -f && /.jpg$/ }, $dir ); Sure it is, but File::Find::Wanted makes it more obvious, and saves a line of code. That's worth it to me. I'd like it if find_wanted() made its way into the File::Find distro, but for now, this will do. FUNCTIONS
find_wanted( &wanted, @directories ) Descends through @directories, calling the wanted function as it finds each file. The function returns a list of all the files and directories for which the wanted function returned a true value. This is just a wrapper around "File::Find::find()". See File::Find for details on how to modify its behavior. COPYRIGHT &; LICENSE Copyright 2005-2012 Andy Lester. This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License v2.0. perl v5.14.2 2012-06-08 Wanted(3pm)
All times are GMT -4. The time now is 03:23 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy