各ディレクトリを圧縮tarでバックアップする

各ディレクトリを圧縮tarでバックアップする

ディレクトリをスキャンし (再帰的ではない)、元のフォルダー名を使用して tar し、フォルダーを削除する (フォルダーのみが圧縮されるようにする) 方法を探しています。そのためのコマンドを持っている人はいますか?

答え1

次のワンライナーを提案できます (現在のディレクトリがバックアップするディレクトリの親であると仮定します)。

for f in */; do tar -czf "${f%/}.tar.gz" "$f"; rm -rf "$f"; done

各フォルダ名を小文字に変更し、スペースをアンダースコアに置き換えるには:

for f in */; do f="${f// /_}"; f="${f,,}"; tar -czf "${f%/}.tar.gz" "$f" && rm -rf "$f"; done_

関連情報