Il comando che usi eseguirà zip su ciascun file separatamente, prova questo:
find . -name <name> -print | zip newZipFile.zip [email protected]
Il [email protected]
dice a zip di leggere i file dall'input. Da man zip(1),
[email protected]
elenchi di file. Se un elenco di file è specificato come[email protected]
[Non su MacOS], zip prende l'elenco dei file di input dall'input standard invece che dalla riga di comando.
La tua risposta è vicina, ma potrebbe funzionare meglio:
find -regex 'regex' -exec zip filname.zip {} +
Ciò metterà tutti i file corrispondenti in un file zip chiamato filename.zip. Non devi preoccuparti dei caratteri speciali nel nome del file (come un'interruzione di riga), cosa che faresti se trasferissi i risultati.
Puoi anche fornire i nomi come risultato del comando find:
zip name.zip `find . -name <name> -print`
Questa è una caratteristica della shell che stai usando. Puoi cercare "backtick" per determinare come la tua shell lo gestisce.