GNU/Linux >> Linux Esercitazione >  >> Linux

come posso cercare i file e comprimerli in un unico file zip

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.


Linux
  1. Come estrarre i file .gz e .tar.gz in Linux

  2. Come cercare i file per dimensione ed estensione?

  3. Cerca in una directory i file e genera il risultato in un file di testo?

  4. Come cercare i file per contenuto

  5. Come posso cercare uno schema multilinea in un file?

Come confrontare e unire file di testo su Linux

Come comprimere e decomprimere file su Ubuntu

Come trovare file duplicati in Linux e rimuoverli

Come copiare file e directory nel terminale Linux

Come eseguire la ricerca Grep su tutti i file e in tutte le directory

Come comprimere un file in Linux