Tôi đang viết một tập lệnh trong đó tôi đang tập tin.
Có khả năng tôi có thể nén một tệp, tạo một tệp cùng tên và cố gắng giải nén tệp này, vd
$ 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
Bằng cách sử dụng gzip --force
, tôi có thể buộc gzip ghi đè lên foo.gz
, nhưng trong trường hợp này, tôi nghĩ rằng có khả năng tôi có thể bị mất dữ liệu nếu tôi ghi đè lên foo.gz
. Dường như không có một công tắc dòng lệnh nào để buộc gzip để .gz
các tệp một mình ... một phiên bản không tương tác của việc nhấn 'n' tại dấu nhắc.
Tôi đã thử gzip --noforce
và gzip --no-force
hy vọng rằng những cái này có thể tuân theo tiêu chuẩn tùy chọn GNU, nhưng cả hai đều không hoạt động.
Có một công việc thẳng về phía trước cho điều này?
Biên tập:
Nó chỉ ra rằng đây là một trong những lần nó trả tiền để đọc trang thông tin chứ không phải trang người đàn ông.
Từ trang thông tin:
`--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.
Trang man bị thiếu văn bản và khi không chạy trong nền
Khi chạy trong nền, gzip sẽ không nhắc và sẽ không ghi đè trừ khi -f
tùy chọn được gọi.
find ./ ! -name "*gz" -exec gzip {} \; &
điều này hoạt động:find ./ ! -name "*gz" -print0 | xargs -0 -n 1 -t gzip
báo cáo gzip:gzip: ./2012-July.txt.gz already exists; not overwritten