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.

Jawaban:


8

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


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.


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


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.