Jak utworzyć plik zip wszystkich plików PDF w różnych podfolderach?


0

Moja struktura katalogów wygląda następująco:

application
├── CV
│   └── CV.pdf
├── Cover_letter
│   └── Cover_letter.pdf
├── Transcripts
│   ├── BSC.pdf
│   └── MSC.pdf
└── references
    ├── ref1.pdf
    └── ref2.pdf

Jak skompresować te 7 plików PDF z terminala, aby uzyskać application.zip plik, a jeśli wyodrębnię go ponownie, wszystkie pliki lądują w jednym folderze?

Odpowiedzi:


1

Zip (w / subdirs): zip -r {myzip.zip} aplikacja

Wyciąg (z wyłączeniem struktury org. Dir): unzip -d {cel}


-1, co nie osiąga tego, czego chce OP. Kompresowanie całości application folder spowoduje wyodrębnienie tej samej struktury katalogów, a nie wszystkich 7 plików PDF w jednym folderze.
slhck

1

Użyj -j opcja (śmieciowe nazwy) zip usuń bezwzględną / względną ścieżkę każdego dodanego pliku i dodaj ją tylko po nazwie. W najprostszym przypadku, gdy folder aplikacji zawiera tylko pliki PDF oprócz katalogów, użyj tego:

zip -jr application.zip application/

Jeśli masz różne pliki, musisz je filtrować i dodawać pojedynczo, na przykład:

find application -type f -name '*.pdf' -exec zip -j application.zip {} \;

Spowoduje to dodanie wszystkich plików PDF w application katalog tylko według ich nazwy podstawowej, do:

adding: Cover_letter.pdf (stored 0%)
adding: CV.pdf (stored 0%)
adding: ref1.pdf (stored 0%)
adding: ref2.pdf (stored 0%)
adding: BSC.pdf (stored 0%)
adding: MSC.pdf (stored 0%)
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.