【ワンライナー】カレントディレクトリ配下のディレクトリ群を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