Monday, October 12, 2009

find exclude ( виключення в find )

Якщо з самого початку - то виникла в мене потреба стирати всі фалйи в певному каталозі, що старші ніж 2 дні,  здавалося б все дуже просто
find  /dir -type f  -exec rm {} \;

але потім настала потреба виключити з пошуку певний підкаталог , написав таке
find  /dir -type f | greo -v "/dir/notrm/  | xargs  rm

проте згодом зявилися файли з символами " та ' в іменах.. і мою послідовність команд дала збій..
прийшлося  шукати як все ж таки в find зробити виключення..
після довгих пошук вдалося знайти :

find /dir -path '/dir/notrm' -prune -o -type f -mtime +2 -exec rm {} \; 

переконаний, що і попередній варіант команди можна було б підправити і все ю запрацювало , але так мені більше подобається 

No comments: