|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Andrey Ostanovsky 2:5030/1957.10 25 Apr 2004 17:55:02 To : Valentin Nechayev Subject : Поменять права -------------------------------------------------------------------------------- 25 Apr 04 16:33, you wrote to me: VK>>>> например find . -type f -exec chmod 644 {} \; AS>>> find . -type f -print0 | xargs -0 chmod 644 AS>>> Блин, третий год говорю - давайте к хорошему приучаться. Чтобы AS>>> потом, когда попадётся директория с десятком-сотней тысяч файлов AS>>> - не было больно и стыдно. AO>> Плохо, очевидно, говоришь.:) Расскажи, чем отличается -exec от AO>> команды xargs, и почему нужно пользоваться именно xargs. VN> Потому что с exec у тебя будет по одному chmod на каждый файл, VN> а xargs будет собирать их пачками по несколько (вплоть до нескольких VN> тысяч). Соответственно эффективность возрастает в разы. Зато такой алгоритм, когда нашли и сразу поправили - не завязан на количество файлов. Мы всегда работаем только с одним. Значит - не завязаны на емкость буферов или выделение памяти под ~миллион найденных значений. Алекс же, наоборот, акцентирует внимание на том, что xargs для сотни тысяч файлов как раз предпочтительнее, чем ключ -exec у find-a. Так где же правда, мать?:) Andrey --- GoldED+/BSD 1.1.5 * Origin: ----> Default GoldED Origin <---- (2:5030/1957.10) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/4578408bc450.html, оценка из 5, голосов 10
|