Menekan ekstraksi direktori __MACOSX saat unzipping


5

Arsip ZIP yang diproduksi pada sistem Mac OS X biasanya menyertakan __MACOSXdirektori yang tidak berguna, menjengkelkan, dan tidak diinginkan pada hampir semua OS lainnya.

Untuk membongkar arsip ZIP saya menggunakan Info-ZIP , yang saya pikir adalah unzipper default pada sebagian besar distribusi Linux. Apa cara terbaik untuk memiliki Info-ZIP yang unzipselalu dan secara otomatis menekan ekstraksi __MACOSXdirektori mana pun yang mungkin ada?

Menurut unziphalaman manual, -xopsi dapat digunakan untuk mengecualikan direktori dari pemrosesan, dan memang menambahkan -x __MACOSX/*ke akhir unzipbaris perintah saya melakukan trik. Tapi saya tidak mau harus mengetik ini setiap saat. Halaman manual juga mengatakan bahwa opsi baris perintah dapat dibaca dari UNZIPvariabel lingkungan, tetapi tampaknya ini hanya berfungsi untuk opsi-opsi yang datang sebelum nama arsip (padahal -xharus datang setelah itu):

$ export UNZIP="-x __MACOSX/*"
$ unzip foo.zip
unzip:  cannot find or open __MACOSX, __MACOSX.zip or __MACOSX.ZIP.

Apakah ada solusi yang lebih baik daripada membungkus unzipskrip shell yang secara otomatis menambah -x __MACOSX/*akhir baris perintah?

Jawaban:


8

Gunakan fungsi shell:

myunzip() {
    unzip "$@" -x '__MACOSX/*'
}

myunzip foo.zip

Solusi yang sangat baik! Terima kasih! Namun, saya memodifikasi milik saya: fungsi saya dipanggil unzip, dipanggil /usr/bin/unzipdan argumen pertama adalah $@. Dengan begitu, kebiasaan saya untuk menelepon unziptetap tak tersentuh dan $@lolos dari pertengkaran. Saya tidak tahu apa "@$".
Vedran Ĺ ego

Itu salah ketik untuk $@.
Barmar
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.