10-30-2008
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
OR
find ./ -name "A*" | wc -l
The problem with the first solution is that it returns an error message if there are no files that match the pattern. If this is the case I just want 0 returned.
The problem with the second solution is that it searches the current directory, but also any sub-directories included within.
Any suggestions? Thanks a lot.
Mike
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
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
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
3. Shell Programming and Scripting
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
4. Shell Programming and Scripting
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
5. Shell Programming and Scripting
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
6. UNIX for Dummies Questions & Answers
I need to search for two patterns in a file and find number of matching lines.
find . -type f | xargs grep "DROP TABLE" | wc -l
find . -type f | xargs grep "DROP SYNONYM" | wc -l
The above code works. However I am looking at finding a commnd that will simplify as on a singe command... (2 Replies)
Discussion started by: Siva SQL
2 Replies
7. Shell Programming and Scripting
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
8. UNIX for Dummies Questions & Answers
Hello all,
this is my first and probably not my last question around here. I do hope you can help or at least point me in the right direction.
My question is as follows, I need to find files and possible folders which are not owner = AAA group = BBB with a said location and all sub folders ... (7 Replies)
Discussion started by: kilobyter
7 Replies
9. UNIX for Dummies Questions & Answers
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
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
exigrep
EXIGREP(8) System Manager's Manual EXIGREP(8)
NAME
EXIGREP - Search Exim's main log
SYNOPSIS
exigrep [-l] pattern [log file] ...
DESCRIPTION
The exigrep utility is a Perl script that searches one or more main log files for entries that match a given pattern. When it finds a
match, it extracts all the log entries for the relevant message, not just those that match the pattern. Thus, exigrep can extract complete
log entries for a given message, or all mail for a given user, or for a given host, for example.
The -l flag means 'literal', that is, treat all characters in the pattern as standing for themselves. Otherwise the pattern must be a Perl
regular expression. The pattern match is case-insensitive. If no file names are given on the command line, the standard input is read.
If the location of a zcat command is known from the definition of ZCAT_COMMAND in Local/Makefile, exigrep automatically passes any file
whose name ends in COMPRESS_SUFFIX through zcat as it searches it.
BUGS
This manual page needs a major re-work. If somebody knows better groff than us and has more experience in writing manual pages, any patches
would be greatly appreciated.
SEE ALSO
exim(8), perlre(1), /usr/share/doc/exim4-base/
AUTHOR
This manual page was stitched together from spec.txt by Andreas Metzler <ametzler at downhill.at.eu.org>, for the Debian GNU/Linux system
(but may be used by others).
March 26, 2003 EXIGREP(8)