Saya sedang menulis skrip tempat saya melakukan gzipping file.
Ada kemungkinan saya dapat zip file, membuat file dengan nama yang sama, dan mencoba untuk gzip ini juga, misalnya
$ ls -l archive/
total 4
-rw-r--r-- 1 xyzzy xyzzy 0 Apr 16 11:29 foo
-rw-r--r-- 1 xyzzy xyzzy 24 Apr 16 11:29 foo.gz
$ gzip archive/foo
gzip: archive/foo.gz already exists; do you wish to overwrite (y or n)? n
not overwritten
Dengan menggunakan gzip --force
, saya bisa memaksa gzip untuk menimpa foo.gz
, tetapi dalam kasus ini, saya berpikir bahwa ada peluang bagus bahwa saya mungkin kehilangan data jika saya menimpa foo.gz
. Tampaknya tidak ada saklar baris perintah untuk memaksa gzip meninggalkan .gz
file sendirian ... versi non-interaktif dari menekan 'n' saat diminta.
Saya mencoba gzip --noforce
dan gzip --no-force
, berharap ini bisa mengikuti standar opsi GNU, tetapi tidak ada yang berhasil.
Apakah ada penyelesaian langsung untuk ini?
Edit:
Ternyata inilah saatnya membayar halaman informasi daripada halaman manual.
Dari halaman info:
`--force'
`-f'
Force compression or decompression even if the file has multiple
links or the corresponding file already exists, or if the
compressed data is read from or written to a terminal. If the
input data is not in a format recognized by `gzip', and if the
option `--stdout' is also given, copy the input data without
change to the standard output: let `zcat' behave as `cat'. If
`-f' is not given, and when not running in the background, `gzip'
prompts to verify whether an existing file should be overwritten.
Halaman manual tidak ada teks dan saat tidak berjalan di latar belakang
Saat berjalan di latar belakang, gzip tidak akan meminta, dan tidak akan menimpa kecuali -f
opsi dipanggil.
find ./ ! -name "*gz" -exec gzip {} \; &
ini bekerja:find ./ ! -name "*gz" -print0 | xargs -0 -n 1 -t gzip
laporan gzip:gzip: ./2012-July.txt.gz already exists; not overwritten