how to find files matching a pattern and zip


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting how to find files matching a pattern and zip
# 1  
Old 11-26-2010
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.
Code:
 
 
for FNAME in $(find . -type d | grep './[0-9]\{2\}-[0-9]\{2\}$');
do
  zip -r MatchedFiles.zip $FNAME
  rm -fr $FNAME
done

I am getting $ unexpected.
In above code find and grep working fine. But How can i loop through the results of find|grep command results.
# 2  
Old 11-26-2010
double quote around "$FNAME" ?
# 3  
Old 11-26-2010
Lower latency, no line length limit, economy of scale (Hope the -r and -@ are compatible!):
Code:
find . -type d | grep './[0-9]\{2\}-[0-9]\{2\}$' | zip -rmTg MatchedFiles.zip -@

or more simply:

zip -rmTg MatchedFiles.zip ./[0-9][0-9]-[0-9][0-9]/


Last edited by DGPickett; 11-26-2010 at 08:19 PM..
This User Gave Thanks to DGPickett For This Post:
# 4  
Old 11-26-2010
The error message means that you are not running a modern Shell. Might be an old Bourne Shell.

It doesn't like the $(command) syntax.


What Operating System and Shell do you have?
Do you have the option to use "ksh" , "bash" or a Posix shell ?
This User Gave Thanks to methyl For This Post:
# 5  
Old 11-27-2010
You are right. I was running in sh. when i changed it to bash it worked fine.

Thanks a lot.

Quote:
DGPickett:

find . -type d | grep './[0-9]\{2\}-[0-9]\{2\}$' | zip -rmTg MatchedFiles.zip -@

or more simply:

zip -rmTg MatchedFiles.zip ./[0-9][0-9]-[0-9][0-9]/
The alternate script you provided worked like a charm. Thanks.
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

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

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

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

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