lisz-works

プログラミングと興味を貴方に

ディレクトリのみ圧縮→削除するシェルスクリプト

【スポンサーリンク】

Linuxペンギン

こんにちは、lisです!

ディレクトリのみ圧縮→削除するシェルスクリプトです!

ソース

#!/bin/bash

dist=${HOME}/target/directory

cd ${dist}
for target in `ls -d */ | sed -e "s/\///"`; do
    # ディレクトリのみ圧縮→削除する
    GZIP=-9 tar zcvf ${target}.tar.gz ${target}
    rm -rf ${target}
done

やっていることは下記のような感じ。

  1. distに設定されたディレクトリに移動
  2. 対象ディレクトリ内の全ディレクトリ分ループ
    1. ディレクトリを圧縮して*.tar.gzを作成
    2. 圧縮元のディレクトリを削除する

固定箇所でこれを使って、cronで回したかっただけなのでパスが固定ですが、distを現在ディレクトリにしたり、引数からパスをもらったりすれば色々な場所でも使えます。

参考

コチラを参考にしました。ありがとうございました!

qiita.com

あとがき

ディレクトリのみ圧縮→削除するシェルスクリプトでした!

ブログを書く腰が重たい節があるので、簡単なものでもあげていけたらなと思ったりしている新年です。