How to gunzip without overwriting non-interactively

bash, gunzip

Solution

Granting your files have `.gz` extensions, you can check if the file exists before running `gunzip`:

[[ -e ${file%.gz} ]] || gunzip "${file}"

[[ -e `${file%.gz}` ]] removes `.gz` and checks if a file having its name exists. If not (false), `||` would run `gunzip "${file}"`.

Problem

I want to unzip `.gz` files but without overwriting. When the resulting file exists, gunzip will ask for permission to overwrite, but I want gunzip not to overwrite by default and just abort. I read in a man that `-f` force overwriting, but I haven't found nothing about skipping it. ``` gunzip ${file} ``` I need something like `-n` in copying `cp -n ${file}`

Original source