約1000個のファイルをbzip2に圧縮したいと思います。しかし、私の使命は、古いファイルを削除し、元のファイルと対応するbz2ファイルを同じフォルダに保存することではありません。最速の方法は何ですか?
私の質問を変更すると、file1.txt、file2.txt、file3.txt...file1000.txtがあり、そのbz2バージョンを削除せずに同じフォルダに配置する必要があるとします。
この目標を達成する方法は?
ベストアンサー1
この-k
オプションは、マニュアルで次のようbzip2
に説明されています。
-k
--keep
圧縮または解凍中に入力ファイルを保存(削除しない)します。
したがって、通常どおりにファイルを圧縮してbzip2
追加すると、-k
元のファイルは削除されません。
すべての.txt
ファイルをディレクトリに圧縮するには:
bzip2 -k ./*.txt
これにより、「引数リストが長すぎます」(何万ものファイルがある場合に発生)が生成された場合は、代わりに単純なシェルループを使用してください。
for name in ./*.txt; do
bzip2 -k "$name"
done