find . -print0 | grep --null 'FooBar' | xargs -0 ...
No sé si grep
admite --null
, ni si xargs
admite -0
, en Leopard, pero en GNU está todo bien.
Puedes combinar todo eso en un solo find
comando:
find . -iname "*foobar*" -exec cp -- "{}" ~/foo/bar \;
Esto manejará nombres de archivos y directorios con espacios en ellos. Puedes usar -name
para obtener resultados sensibles a mayúsculas y minúsculas.
Nota:El --
indicador pasado a cp
evita que procese archivos que comienzan con -
como opciones.