말 나는이 parent_directory/
다음과 같은 하위 디렉토리와를 child1/
, child2/
하고 child3/
.
방법에 I에게 스크립트를 할 zip
모든 *.txt
에있는 파일 childx/
에 childx.zip
내가이 원하는 childx.zip
그것의에 위치하는 childx/
디렉토리.
$ mkdir -p parent_directory/child{1..3}
$ touch parent_directory/child{1..3}/file1.txt
$ touch parent_directory/child{1..3}/file2.txt
$ tree parent_directory/
parent_directory/
├── child1
│ ├── file1.txt
│ └── file2.txt
├── child2
│ ├── file1.txt
│ └── file2.txt
└── child3
├── file1.txt
└── file2.txt
3 directories, 6 files
이제 zip 파일을 스크립팅합니다.
$ cd parent_directory/; for i in *; do find ${i} -name "*.txt" -print | zip ${i}.zip -@; mv ${i}.zip ${i}; done; cd -
adding: child1/file2.txt (stored 0%)
adding: child1/file1.txt (stored 0%)
adding: child2/file2.txt (stored 0%)
adding: child2/file1.txt (stored 0%)
adding: child3/file2.txt (stored 0%)
adding: child3/file1.txt (stored 0%)
결과 :
$ tree parent_directory/
parent_directory/
├── child1
│ ├── child1.zip
│ ├── file1.txt
│ └── file2.txt
├── child2
│ ├── child2.zip
│ ├── file1.txt
│ └── file2.txt
└── child3
├── child3.zip
├── file1.txt
└── file2.txt
3 directories, 9 files
$ unzip -l parent_directory/child1/child1.zip
Archive: parent_directory/child1/child1.zip
Length Date Time Name
--------- ---------- ----- ----
0 07-05-2018 10:08 child1/file2.txt
0 07-05-2018 10:08 child1/file1.txt
--------- -------
0 2 files
$ unzip -l parent_directory/child2/child2.zip
Archive: parent_directory/child2/child2.zip
Length Date Time Name
--------- ---------- ----- ----
0 07-05-2018 10:08 child2/file2.txt
0 07-05-2018 10:08 child2/file1.txt
--------- -------
0 2 files
$ unzip -l parent_directory/child3/child3.zip
Archive: parent_directory/child3/child3.zip
Length Date Time Name
--------- ---------- ----- ----
0 07-05-2018 10:08 child3/file2.txt
0 07-05-2018 10:08 child3/file1.txt
--------- -------
0 2 files
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다