Страница 3 из 3

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

Добавлено: 10 мар 2010, 11:51
Vims
нашел beyond compare, хоть и не для удаления но работает нормально не надо мониторить, запустил и вперед...

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

Добавлено: 10 мар 2010, 11:53
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

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

Добавлено: 10 мар 2010, 11:56
Rai
Marmot писал(а):очень сильно сэкономив на числе запуска процессов...
*... summons Uncle Dudley...*

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

Добавлено: 10 мар 2010, 12:02
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 ./*

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

Добавлено: 10 мар 2010, 12:06
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 будет покруче :)

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

Добавлено: 10 мар 2010, 12:10
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-х параллельных процессах в одной директории...

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

Добавлено: 10 мар 2010, 12:12
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 процесса параллельно?
Ну если ты сможешь легко распределить файлы по процессам, то да, а так даже думать не надо :)

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

Добавлено: 10 мар 2010, 12:15
Stanislav
БТВ, особой интеллектуальностью при удалении я бы посчитал воспринимание любого количества файлов как аргумента и прямую запись в сектора диска, где находятся иноды подлежащих удалению файлов.

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

Добавлено: 10 мар 2010, 12:18
Stanislav
Marmot писал(а): Ну если ты сможешь легко распределить файлы по процессам, то да, а так даже думать не надо :)
зависит. у меня были отлупы в ответ на наш спам - можно по дате.
И никто мне не мешает написать: ls | xarg .......
find в данном случае, когда надо тупо выкатить список всех файлов в директории ничем не лучше ls

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

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

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

find . -exec rm {} \;
find . | xargs /bin/rm -f
rm -f ./*
ты уже ощутил :)

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

Добавлено: 10 мар 2010, 12:27
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

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

Добавлено: 10 мар 2010, 12:30
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 ...
Ну да ладно... :)

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

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