【ワンライナー】カレントディレクトリ配下のディレクトリ群をzip
find ./* -maxdepth 1 -type d | xargs -P254 -I@ zip -qr "@.zip" "@"
find
コマンド-maxdepth
オプションで階層を指定。- 今回の
-maxdepth 1
の場合、探しに行くのは1階層まで。
- 今回の
-type
オプションで対象を指定。d
でディレクトリ、f
でファイルを示す。
xargs
コマンド- 今回はパイプ
|
から渡された標準入力を処理している。 -I
オプションで、標準入力から受け取った内容を展開する。- 今回の
-I@
の場合、zip -qr "@.zip" "@"
は以下のように展開される。zip -qr ディレクトリ名.zip ディレクトリ名
- 今回の
-P
オプションで、複数プロセスを立ち上げ並列処理を実施する。- 今回の
-P254
の場合、254個まで並列化する。
- 今回の
- 今回はパイプ
昔はこんな感じでやってました。拙い感じが懐かしいです。
ls | while read LINE; do zip -qr "$LINE".zip "$LINE"; done