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.