2009-04-25 5 views
24

と私はいくつかのように見えるのディレクトリを持っています。最後に、次のようなものを得ることを願っています:圧縮複数のファイルを個別にGzipで

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

Unixの簡単な方法はありますか?

答えて

33
gzip */*.txt 

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

+7

gzipは圧縮されていないファイル自体を削除します。 – ypnos

+0

オリジナルを削除しない方法はありますか?私は現在、-cフラグを使用しています(gzip -9 -c style.css> style.css.gz) – ansiart

+0

参照http://stackoverflow.com/questions/6258972/gzip-multiple-files-individually-and-keep-オリジナルファイル –

8

gzip -r dir1 dir2

+0

興味深い;確かにCygwinのバージョンで動作します。私はgzipに適用される '-r'オプションを認識していませんでしたが、驚くべきことでもありません。 –

10

サブディレクトリがある場合でも次のように動作します。例えば。 dir1/dir2 /.../foo.txt

find . -type f -name "*.txt" -exec gzip {} \; 
+1

'gzip ./**/*。txt'を実行して、現在のディレクトリ内のすべてのディレクトリにリカートし、すべてのテキストファイルをgzipして、元のファイルを削除することもできます。 – thekingoftruth

関連する問題