How can I recursively bzip2 all files that does not end with the .bz2 extension in Linux?
Thanks.
|
|
|
find is your friend. I reckon the following ought to do it:
i.e. if the dir where the files you want to bzip are is /var/log/blah it would be:
|
|||||||||||
|
|
Off the top of my head (sorry, don't have a shell handy to test quoting etc.):
This uses find to find all files, grep to strip out the ones with a .bz2 extension and then feed them one at a time into bzip2. I expect some of the quoting is wrong, though - I'd test the bit in the backquotes separately first. Good luck! You might want to use xz instead, though - it usually compresses better - or even tar everything up and bzip2 or xz instead. |
|||||||
|
|
With zsh (
With bash 4, if you're ok with ignoring
|
|||
|
|