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.