web-dev-qa-db-ja.com

Gzipで複数のファイルを個別に圧縮する

次のようなディレクトリがいくつかあります。

dir1/
  |_foo.txt
  |_bar.txt
dir2/
  |_qux.txt
  |_bar.txt

このディレクトリごとに、その中のファイルを* .gz形式に圧縮してから、圧縮されていないファイルを削除します。最後に、次のようなものを取得したいと思います。

 dir1/
   |_foo.gz
   |_bar.gz
 dir2/
   |_qux.gz
   |_bar.gz

それを行う簡単なUnixの方法はありますか?

27
neversaint
gzip */*.txt

ただし、gzipは元のファイル名を知るために使用するため、各ファイルの拡張子は.txt.gzになります。

39
Juliano

以下はサブディレクトリがある場合でも機能します。例えば。 dir1/dir2 /.../ foo.txt

find . -type f -name "*.txt" -exec gzip {} \;
10
dogbane

gzip -r dir1 dir2

8
vovick