In http://www.gnu.org/software/bash/manual/bashref.html#GNU-Parallel
Where you say ls *.gz | parallel -j+0 "zcat {} | bzip2 >{.}.bz2 && rm {}" This will recompress all files in the current directory with names ending in .gz using bzip2, running one job per CPU (-j+0) in parallel. it should be ls *.gz | parallel -j+0 "zcat {} | bzip2 >{.}.bz2 && rm {}" This will recompress all files in the current directory with names ending in .bz2 using bzip2, running one job per CPU (-j+0) in parallel. Also, you should mention what the +0 does.