Perintah yang Anda gunakan akan menjalankan zip pada setiap file secara terpisah, coba ini:
find . -name <name> -print | zip newZipFile.zip [email protected]
[email protected]
memberi tahu zip untuk membaca file dari input. Dari man zip(1),
[email protected]
daftar file. Jika daftar file ditetapkan sebagai[email protected]
[Bukan di MacOS], zip mengambil daftar file input dari input standar, bukan dari baris perintah.
Tanggapan Anda hampir sama, tetapi ini mungkin bekerja lebih baik:
find -regex 'regex' -exec zip filname.zip {} +
Itu akan menempatkan semua file yang cocok dalam satu file zip bernama filename.zip. Anda tidak perlu khawatir tentang karakter khusus dalam nama file (seperti jeda baris), yang akan Anda lakukan jika Anda menyalurkan hasilnya.
Anda juga dapat memberikan nama sebagai hasil dari perintah find Anda:
zip name.zip `find . -name <name> -print`
Ini adalah fitur dari shell yang Anda gunakan. Anda dapat mencari "backticks" untuk menentukan bagaimana shell Anda menangani ini.