Find files matching a pattern


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Find files matching a pattern
# 1  
Old 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
# 2  
Old 10-30-2008
Hammer & Screwdriver

Code:
>ls -1 A* 2>/dev/null | wc -l
0

Where I redirect error output to a location that I do not care about. This is a common way of skipping past error messages.

You might also incorporate this into find commands when searching for a file (not necessarily this example), but to avoid the errors telling you that you do not have rights to view a directory.

By the way, the -1 is not necessary in this example. I included it above since I was only trying to show the error redirect. The better command is
Code:
>ls A* 2>/dev/null | wc -l

# 3  
Old 10-30-2008
Code:
$ touch A{1..5} B{1..7}
$ ls
A1  A2  A3  A4  A5  B1  B2  B3  B4  B5  B6  B7
$ shopt -s nullglob 
$ f=(A*)
$ echo ${#f[@]}
5
$ f=(C*)
$ echo ${#f[@]}
0

# 4  
Old 10-30-2008
Thank you for the suggestions. I have read about /dev/null but have never tried doing that. What happens to output when you redirect it there. Does it go into obscurity or so you have to "purge" /dev/null sometimes. Is it a file that you can open up and view its contents?

Mike
# 5  
Old 10-30-2008
Hammer & Screwdriver

No need to cleanup /dev/null
in fact, do the following
Code:
> ls -l /dev/n*

Kind of strange the entry for null... Not like any normal file.
# 6  
Old 10-30-2008
Yes,
character special:
Code:
% file /dev/null
/dev/null: character special

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. 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

2. 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

3. UNIX for Dummies Questions & Answers

find Search - Find files not matching a pattern

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

4. 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

5. UNIX for Dummies Questions & Answers

FIND matching pattern of lines in a file

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

6. 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

7. 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

8. 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

9. 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

10. 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
Login or Register to Ask a Question