How to GZIP all the files or a list of files from some path?

7

3

I know that gzip compress a file, but I would want to know. How to compress a list of files, each file in their own GZIP file ?

I need to use the list of a folder: ls log.2011 And for each file create a zipped file.

Any ideas ?

MadMad666

Posted 2011-07-11T15:55:43.343

Reputation: 256

So your file log.2011 lists compressed files? You want them all compressed as a single archive right? I'd look at using tar. – James T Snell – 2011-07-11T15:59:17.633

do you have a bunch of folders with x amount of files in and you want a zip for each folder? because multiple files requires tar aswell. – squareborg – 2011-07-11T16:13:38.273

Answers

9

gzip will always compress each file into a single .gz file when given a list of files on its command line.

For example

$ gzip -r log.2011

to recursively walk the log.2011 directory and compress all files it finds, or

$ gzip log.2011/*

to compress only the files in the log.2011 directory without descending into subdirectories.

user89061

Posted 2011-07-11T15:55:43.343

Reputation:

1

This will output a gz archive for each matching file, files are replaced by the archive:

gzip fileprefix*

Have a look to the '-r' flag too.

Shadok

Posted 2011-07-11T15:55:43.343

Reputation: 3 760