find、-execに基づくZipサブディレクトリ

find、-execに基づくZipサブディレクトリ

これが私が達成したいものです。その中にはいくつかのディレクトリとサブディレクトリがあります(サブサブディレクトリがあるかもしれません)。各サブディレクトリには、その特定のディレクトリの内容を含むzipファイルが必要です。

find私のサブディレクトリを見つけました。

find . -mindepth 2 -maxdepth 2 -type d

しかし、仕上げは難しいです。

-exec zip ... \;

助けてください?私は多くの組み合わせを試しましたが、それを理解することはできません。 :(

明確にするためにここにツリーがあります。

├── DIR1
│   ├── FILE1
|   ├── FILE2
│   └── FILE3
├── FILE4
├── DIR2
│   ├── DIR3
│   │   ├── SUBDIR1
│   │   │   ├── SUBFILE1
│   │   │   ├── SUBSUBDIR1
│   │   │   │   ├── SUBSUBFILE1
│   │   │   │   └── SUBSUBFILE2
│   │   │   └── SUBSUBDIR1
│   │   │       ├── SUBSUBFILE3
│   │   │       └── SUBSUBFILE4
│   │   ├── FILE4
│   │   ├── FILE5
│   │   ├── FILE6
│   │   └── Zip file named DIR3.zip with FILE4, FILE5, FILE6

ベストアンサー1

現在探しているディレクトリからコマンドを実行する-execdir代わりに、次の方法を使用すると、この問題が少し簡単になります。-execfind

find . -mindepth 2 -maxdepth 2 -type d -execdir zip -r {}.zip {} ';'

この文字列は現在のファイル名{}として解釈され、使用される場合は相対的です。find-execdir

おすすめ記事