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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.