find . -print0 | grep --null 'FooBar' | xargs -0 ...
Nevím, zda grep podporuje --null , ani zda xargs podporuje -0 , na Leopardovi, ale na GNU je to všechno dobré.
To vše můžete spojit do jednoho find příkaz:
find . -iname "*foobar*" -exec cp -- "{}" ~/foo/bar \;
To bude zpracovávat názvy souborů a adresáře s mezerami. Můžete použít -name abyste získali výsledky rozlišující malá a velká písmena.
Poznámka:-- příznak předán cp zabrání zpracování souborů začínajících - jako možnosti.