これが私が達成したいものです。その中にはいくつかのディレクトリとサブディレクトリがあります(サブサブディレクトリがあるかもしれません)。各サブディレクトリには、その特定のディレクトリの内容を含む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
代わりに、次の方法を使用すると、この問題が少し簡単になります。-exec
find
find . -mindepth 2 -maxdepth 2 -type d -execdir zip -r {}.zip {} ';'
この文字列は現在のファイル名{}
として解釈され、使用される場合は相対的です。find
-execdir