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:-
If you want to exclude files that are either user AAA or 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:-
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.
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)
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)
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)
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)
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)
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)
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)
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)
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)
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
LEARN ABOUT DEBIAN
file::find::wanted
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)