이것이 제가 달성하고 싶은 것입니다. 그 안에 일부 디렉터리와 하위 디렉터리가 있습니다(하위 하위 디렉터리가 있을 수 있음). 각 하위 디렉터리에는 해당 특정 디렉터리의 내용이 포함된 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