コンソール操作のお勉強 find編

ディレクトリ内の大量のディレクトリを、ディレクトリごとに連続で圧縮したかったのでその用途に見合ったコマンドを検索したら、全然ヒットしないので絶望した。

というわけで色々検討した結果以下のコマンドを実行することにしたのでメモ。

find . -type d -exec zip -rj0 {}.zip {} \; -exec rmdir {} \;
find . -type d
-type fだとカレントディレクトリ内のファイル、-type dだとカレントディレクトリ内のサブディレクトリを指定するオプションになる。今回はこれですべてのサブディレクトリを指定。
-exec 〜 \;
;〜の部分にfindで取得したファイル名を{}として送ることができる。
zip -rj0
まぁ-rjだけでもいいけど。rがディレクトリ圧縮のオプション。0が無圧縮モード指定
rmdir {}
ついでに余ったディレクトリを削除。残したいときはこれはいらない。