Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top
______________ myFolder

What can I replace with _____ to recursively gzip every file starting at myFolder and have the gzip be overwrite the file (rename the gzip file to the original filename)?

share|improve this question

migrated from Jul 31 '09 at 20:51

This question came from our site for professional and enthusiast programmers.

You could also try

 find myFolder -type f -exec gzip {} \; -exec mv {}.gz {} \;
share|improve this answer
Aha, forgot about multiple -exec calls in find, me likey – Wesley Mason Jul 31 '09 at 11:09


find myFolder -type f -exec gzip {} +
share|improve this answer
Be aware that this will rename your files from myFile to myFile.gz – Kristof Provost Jul 30 '09 at 10:42

A simple, not very elegant bash script is to simply cd in, gzip them all in a loop, and mv them back (gzip by default removes the non-compressed file):

cd myFolder
for f in `find ./ -type f`
    gzip $f
    mv $f.gz $f

Put that in a file called "" for example, chmod -775 and run it like ./ (if running from within myFolder itself, remove the "cd myFolder" line from the script).

share|improve this answer
And yes I do know backticks are evil, but as I said this is just a quick hack script. – Wesley Mason Jul 30 '09 at 10:50
why are backticks evil, what do you replace them with ? – Anonymous Jul 30 '09 at 13:36
See – Wesley Mason Jul 31 '09 at 10:13

You must log in to answer this question.