LINUX.ORG.RU

Помогите составить комманду для shell ?


0

0
Нужно удалить из данной директории все файлы которые были созданны или изменены более чем данное количество минут назад.

Я понимаю как найти эти файлы
$find /dir/name -iname '*.html' -cmin +60
а как их перенаправить на удаление ?
anonymous
Ответ на: комментарий от sdio
о, работает. большое спасибо.

Кстати не просвятите? я вот в ман по find лупался, там есть ключ "-exec command ;" вроде для того же самого, пробовал вот так
find /dir/name -iname '*.html' -cmin +60 -exec rm -f ;
не работает
anonymous
()
Ответ на: комментарий от anonymous
>find /dir/name -iname '*.html' -cmin +60 -exec rm -f ;

Перед ; надо \ поставить.

suser
()
Ответ на: комментарий от Laz
перед { качычки можно не ставить
то есть так find ./ -type f -exec ls {} \;
dreamer ★★★★★
()
Ответ на: комментарий от sdio
>find /dir/name -iname '*.html' -cmin +60 | xargs rm -f

Я бы рекомендовал использовать символ \0 для разделение имён файлов. Приведённый выше вариант может не сработать для хитро-названных файлов.

Я пишу обычно так:

find /dir/name -iname '*.html' -cmin +60 -print0 | xargs -r0 rm -f

P.S. У find ещё есть ключи -delete или -exec, кстати.

php-coder ★★★★★
()
Ответ на: комментарий от php-coder
Вопрос был: "Как перенаправить вывода find_a на удаление?"

З.Ы. A find без -exec и без -print0 ты еще не видел?
     Ну увидишь, не удивляйся.
sdio ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.