unzip cara memangkas direktori teratas

13

Saya memiliki arsip zip. The unzip -l myarchive.zipperintah memberikan daftar ini:

top/subtop/files/1.txt
top/subtop/files2/2.txt
etc

Folder root adalah top / subtop untuk semua file. Bagaimana cara mengekstrak file-file itu tanpa dua folder top / subtop?

Misalnya ketika saya berada di direktori / home / myuser / public_html, files/1.txtdan files2/2.txtharus diekstraksi langsung ke direktori itu.

Saya mencoba unzip myarchive.zip top/subtop/*tetapi tetap membuat direktori top / subtop.

camcam
sumber

Jawaban:

8

Sayangnya, kamu tidak bisa. Satu-satunya pilihan Anda adalah memindahkannya setelah diekstraksi.

Sepero
sumber
Hmm, senang tahu. Saya menanyakan hal ini karena beberapa hari yang lalu, ketika membuat arsip, itu menambahkan beberapa jalur dari atas, secara tidak sengaja. Jadi ada masalah membuka ritsleting mereka karena jalur top tambahan. Namun, saya tidak dapat mengulanginya hari ini - hari ini berfungsi ok, yaitu ketika di direktori top / subtop dan melakukan file zip-r.zip * itu tidak menambahkan path top / subtop sebagai awalan ke path file. Saya pikir saya melakukan perintah yang persis sama, tetapi anehnya, hasilnya berbeda, jadi tidak perlu menghapus direktori top saat membuka ritsleting.
camcam
Perhatikan bahwa mungkin untuk mengabaikan semua direktori (cukup menempatkan semua file di sebelah satu sama lain) unzip -j.
Skylar Ittner
4

Anda mungkin ingin mencoba tarperintah, yang memiliki --strip-componentsfitur dan dapat beroperasi pada file zip.

Eamon
sumber
2
Tidak bekerja dengan tar (GNU tar) 1.15.1:tar: This does not look like a tar archive tar: Error exit delayed from previous errors
Kevin Panko
2
Tar FreeBSD dapat menangani arsip ZIP. Sayangnya, implementasi tar lainnya tidak memiliki fitur lengkap.
Mikhail T.
1
Untuk pengguna debian, tar FreeBSD tersedia sebagai bsdtar (apt-get install bsdtar) jika Anda ingin menggunakan tar untuk mengekstrak file zip.
Niklas B
-2
$ unzip -l myarchive.zip
$ mv top/subtop/* .

#kissPrinciple;)

Romain DEQUIDT
sumber