Утилита для удаления файлов

Все, что вы хотели знать о программизме, но боялись спросить.
Аватара пользователя
Vims
Northern Yeti
Сообщения: 21443
Зарегистрирован: 17 фев 2003, 15:53
Откуда: Magadan - Vancouver
Контактная информация:

Re: Утилита для удаления файлов

Сообщение Vims »

нашел beyond compare, хоть и не для удаления но работает нормально не надо мониторить, запустил и вперед...
Аватара пользователя
Marmot
Графоман
Сообщения: 39292
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: Утилита для удаления файлов

Сообщение Marmot »

Stanislav писал(а): Ну вот накоплю миллион файлов и отпишу результаты.
Когда накопишь, почитай вот тут:

http://unixhelp.ed.ac.uk/CGI/man-cgi?find
-exec command {} +
This variant of the -exec option runs the specified command on
the selected files, but the command line is built by appending
each selected file name at the end; the total number of invoca-
tions of the command will be much less than the number of
matched files. The command line is built in much the same way
that xargs builds its command lines. Only one instance of '{}'
is allowed within the command. The command is executed in the
starting directory.
Ну и еще: http://unixhelp.ed.ac.uk/CGI/man-cgi?xargs
Rai
Маньяк
Сообщения: 1576
Зарегистрирован: 04 окт 2009, 15:23

Re: Утилита для удаления файлов

Сообщение Rai »

Marmot писал(а):очень сильно сэкономив на числе запуска процессов...
*... summons Uncle Dudley...*
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45325
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Утилита для удаления файлов

Сообщение Stanislav »

Marmot писал(а):
Stanislav писал(а): Ну вот накоплю миллион файлов и отпишу результаты.
Когда накопишь, почитай вот тут:

http://unixhelp.ed.ac.uk/CGI/man-cgi?find
-exec command {} +
This variant of the -exec option runs the specified command on
the selected files, but the command line is built by appending
each selected file name at the end; the total number of invoca-
tions of the command will be much less than the number of
matched files. The command line is built in much the same way
that xargs builds its command lines. Only one instance of '{}'
is allowed within the command. The command is executed in the
starting directory.
Ну и еще: http://unixhelp.ed.ac.uk/CGI/man-cgi?xargs
Ты меня вообще понимаешь?
Я тебя прошу об'яснить приципиальную разницу между:
find . -exec rm {} \;
find . | xargs /bin/rm -f
rm -f ./*
Аватара пользователя
Marmot
Графоман
Сообщения: 39292
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: Утилита для удаления файлов

Сообщение Marmot »

Stanislav писал(а): find . -exec rm {} \;
find . | xargs /bin/rm -f
rm -f ./*
find . | xargs /bin/rm -f можно сделать вот так find . | xargs -L 64 -P 4 /bin/rm -f
Удаляя файлу пачками по 64 в 4-х процессах параллельно, что бы сэкономить на io waits...

PS
дефолтвых значений для {} + я найти пока не сумел, так что xargs будет покруче :)
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45325
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Утилита для удаления файлов

Сообщение Stanislav »

Marmot писал(а):
Stanislav писал(а): find . -exec rm {} \;
find . | xargs /bin/rm -f
rm -f ./*
find . | xargs /bin/rm -f можно сделать вот так find . | xargs -L 64 -P 4 /bin/rm -f
Удаляя файлу пачками по 64 в 4-х процессах параллельно, что бы сэкономить на io waits...

PS
дефолтвых значений для {} + я найти пока не сумел, так что xargs будет покруче :)
Ну зашибись - а я не могу руками запустить 4 процесса параллельно?
Кстати, еще неизвестно, как пойдет удаление на 4-х параллельных процессах в одной директории...
Аватара пользователя
Marmot
Графоман
Сообщения: 39292
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: Утилита для удаления файлов

Сообщение Marmot »

Stanislav писал(а):
Marmot писал(а):
Stanislav писал(а): find . -exec rm {} \;
find . | xargs /bin/rm -f
rm -f ./*
find . | xargs /bin/rm -f можно сделать вот так find . | xargs -L 64 -P 4 /bin/rm -f
Удаляя файлу пачками по 64 в 4-х процессах параллельно, что бы сэкономить на io waits...

PS
дефолтвых значений для {} + я найти пока не сумел, так что xargs будет покруче :)
Ну зашибись - а я не могу руками запустить 4 процесса параллельно?
Ну если ты сможешь легко распределить файлы по процессам, то да, а так даже думать не надо :)
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45325
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Утилита для удаления файлов

Сообщение Stanislav »

БТВ, особой интеллектуальностью при удалении я бы посчитал воспринимание любого количества файлов как аргумента и прямую запись в сектора диска, где находятся иноды подлежащих удалению файлов.
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45325
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Утилита для удаления файлов

Сообщение Stanislav »

Marmot писал(а): Ну если ты сможешь легко распределить файлы по процессам, то да, а так даже думать не надо :)
зависит. у меня были отлупы в ответ на наш спам - можно по дате.
И никто мне не мешает написать: ls | xarg .......
find в данном случае, когда надо тупо выкатить список всех файлов в директории ничем не лучше ls
Последний раз редактировалось Stanislav 10 мар 2010, 12:22, всего редактировалось 1 раз.
Аватара пользователя
Marmot
Графоман
Сообщения: 39292
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: Утилита для удаления файлов

Сообщение Marmot »

Stanislav писал(а):
Marmot писал(а): Ну если ты сможешь легко распределить файлы по процессам, то да, а так даже думать не надо :)
зависит. у меня были отлупы в ответ на наш спам - можно по дате.
Ну, как я понял разницу между

Код: Выделить всё

find . -exec rm {} \;
find . | xargs /bin/rm -f
rm -f ./*
ты уже ощутил :)
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45325
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Утилита для удаления файлов

Сообщение Stanislav »

Marmot писал(а):
Stanislav писал(а):
Marmot писал(а): Ну если ты сможешь легко распределить файлы по процессам, то да, а так даже думать не надо :)
зависит. у меня были отлупы в ответ на наш спам - можно по дате.
Ну, как я понял разницу между

Код: Выделить всё

find . -exec rm {} \;
find . | xargs /bin/rm -f
rm -f ./*
ты уже ощутил :)
Ощутил что? Мы вообще-то спорим об исключительной небходимости применять find для массового удаления файлов. При чем тут возможности xargs? ну хорошо: ls | xargs -L 64 -P 4 /bin/rm -f
Аватара пользователя
Marmot
Графоман
Сообщения: 39292
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: Утилита для удаления файлов

Сообщение Marmot »

Stanislav писал(а):
Marmot писал(а):
Stanislav писал(а):
Marmot писал(а): Ну если ты сможешь легко распределить файлы по процессам, то да, а так даже думать не надо :)
зависит. у меня были отлупы в ответ на наш спам - можно по дате.
Ну, как я понял разницу между

Код: Выделить всё

find . -exec rm {} \;
find . | xargs /bin/rm -f
rm -f ./*
ты уже ощутил :)
Ощутил что? Мы вообще-то спорим об исключительной небходимости применять find для массового удаления файлов. При чем тут возможности xargs? ну хорошо: ls | xargs -L 64 -P 4 /bin/rm -f
find тщательнЕе ищет, в отличие от ls ...
Ну да ладно... :)
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45325
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Утилита для удаления файлов

Сообщение Stanislav »

БТВ, 10000 файлов нормально воспринимаются rm для удаления - можно подправить параметр xargs :D
100000 - устал ждать создания - ну его нафик...
Ответить