ディレクトリ内のすべてのディレクトリを圧縮ディレクトリの名前を付けたファイルに圧縮する方法

ディレクトリ内のすべてのディレクトリを圧縮ディレクトリの名前を付けたファイルに圧縮する方法

単一のディレクトリ内のすべてのディレクトリを自分の名前の付いたファイルに圧縮したいと思います。たとえば、tar-all.shを使用します。

dir___
      |- dirA
      |- dirB
      |- tar-all.sh

~になる

dir___
      |- dirA.tar.tgz
      |- dirB.tar.tgz
      |- tar-all.sh

ベストアンサー1

forループを使用してください。

#!/bin/bash

for f in *
do
    echo "Creating tarball of $f..."
    tar -zcf $f.tar.gz $f
done

結果:

> ./tar-all.sh
> Creating tarball of tar-all.sh...
> Creating tarball of dirA...
> Creating tarball of dirB...
> DONE!

  |- dirA.tar.tgz
  |- dirB.tar.tgz
  |- tar-all.sh.tar.gz

おすすめ記事