find . -print0 | grep --null 'FooBar' | xargs -0 ...
Je ne sais pas si grep prend en charge --null , ni si xargs prend en charge -0 , sur Leopard, mais sur GNU tout va bien.
Vous pouvez combiner tout cela en un seul find commande :
find . -iname "*foobar*" -exec cp -- "{}" ~/foo/bar \;
Cela gérera les noms de fichiers et les répertoires contenant des espaces. Vous pouvez utiliser -name pour obtenir des résultats sensibles à la casse.
Remarque :Le -- drapeau passé à cp l'empêche de traiter les fichiers commençant par - comme options.