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.