LoginSignup
4
3

More than 5 years have passed since last update.

全てのディレクトリをzip化 & 元のディレクトリを削除

Last updated at Posted at 2016-01-22

大量のディレクトリをzip化したり、解答したりする必要があったのでlinuxのコマンドをまとめました。
調べていくと初心者の僕にはコマンドの理解ができない場合が多かったのでそういう方のためにコマンドの解説も載せてみました。

全ディレクトリをzip化し、元のディレクトリを削除

find . \! -name '*.zip' \! -name '.' -type d -exec zip {}.zip {} \; -exec rm -r {} \;

解説

  • find . → 現在のディレクトリを参照
  • \! -name '*.zip' → xxx.zipというファイルを除く(!は否定で\でエスケープしている)
  • \! -name '.' -type d → 名前が.でディレクトリではないものは除く
  • -exec コマンドを実行(\;まで)
    • {}にはfindしたものが入る
    • zip {}.zip {} → 通常のzipコマンド(zip 出力zip名 対象ディレクトリ名)
    • rm -r {} → 通常のrmコマンド

という感じです。

全zipファイルを解凍し、元のファイルを削除

find . -name '*.zip' -exec unzip {} \; -exec rm -r {} \;

解説

  • find . → 現在のディレクトリを参照
  • -name '*.zip' → xxx.zipで始まるファイルを検索
  • exec コマンドを実行(\;まで)
    • {}にはfindしたものが入る
    • unzip {} → 通常のunzipコマンド
    • rm -r {} → 通常のrmコマンド、ディレクトリを削除

という感じです!

linuxに関してまだまだ初心者なのでご指摘等ございましたらコメントをお願いいたします。

4
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3