GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso usare xargs per copiare file che hanno spazi e virgolette nei loro nomi?

find . -print0 | grep --null 'FooBar' | xargs -0 ...

Non so se grep supporta --null , né se xargs supporta -0 , su Leopard, ma su GNU va tutto bene.


Puoi combinare tutto ciò in un singolo find comando:

find . -iname "*foobar*" -exec cp -- "{}" ~/foo/bar \;

Questo gestirà nomi di file e directory con spazi al loro interno. Puoi usare -name per ottenere risultati con distinzione tra maiuscole e minuscole.

Nota:il -- flag passato a cp impedisce l'elaborazione di file che iniziano con - come opzioni.


Linux
  1. SSHFS? Cos'è e come lo uso?

  2. Come utilizzare Wc e Piping per trovare quanti file e directory si trovano in una determinata directory?

  3. Come utilizzare il comando trova di Linux per trovare i file

  4. Come posso generare un elenco di file con il loro percorso assoluto in Linux?

  5. Come posso trovare file che hanno solo determinate autorizzazioni per il proprietario?

Come utilizzare sed per trovare e sostituire la stringa nei file

Come utilizzare il comando cp per copiare file e directory

Come utilizzare il comando Grep per trovare testo nei file

Come trovare e copiare determinati tipi di file da una directory all'altra in Linux

Come trovare ed eliminare file che contengono un testo specifico nei loro nomi in Linux

Come trovare file in base alle loro autorizzazioni in Linux