質問: 元のファイルを保持するようにgzipに指示する方法は? keeping元のファイルを使用しながら、gzipコマンドラインツールを使用してテキストファイルを圧縮したいと思います。デフォルトでは次のコマンドを実行しますgzip file.txt その結果、このファイルが変更されて名前が変更されますfile.txt.gz。この動作の代わりに、この新しい圧縮ファイルを既存のファイルにadditionで入れたいですfile.txt。今のところ、次のコマンドを使用してそれを実行していますgzip -c file.txt > file.txt.gz それは機能しますが、なぜそのような一般的なタスクを行うための簡単な解決策がないのでしょうか?多分私はそれをしているオプションを逃しましたか?
回答: 最近リリースされた(2013年6月) gzip-1.6 "は、-keep(-k)オプションを受け入れ、xz、lzipなどのツールとの一貫性を保つことに注意してください。およびbzip2。このオプションを使用すると、gzipは圧縮または解凍時に名前付き入力ファイルを削除しなくなりました "。manページからの抜粋: -k --keep keep (don't delete) input files during compression or decompression. したがって、1.6以降、-kまたは--keepを使用して元のファイルを保持できます。gzip -k -- "$file" ($fileが-である場合は機能しません(gzipはstdinと解釈します) -という実際のファイルの代わりに、その場合は./-)に変更する必要がありますそのオプションは bzip2との一貫性を保つために、gzipのfreebsd実装で最初に導入されました (2007年のfreebsd 7.0で)でした。そのgzipは、netbsdによるgnu gzipの書き換えに基づいています。- -kオプションは、最終的に201 。