LINUX.ORG.RU

Ответ на: комментарий от anonymous

Нет. В данном случае ничего не будет форкаться.
Т.е. должно быть быстрее, чем с xargs 
и к тому же не ругается как rmdir -p


$ mkdir -p 1/{a,b,c}/{d,e,f}
$ find 1 -type d
1
1/a
1/a/d
1/a/e
1/a/f
1/b
1/b/d
1/b/e
1/b/f
1/c
1/c/d
1/c/e
1/c/f

$ find 1 -type d -empty -print0 | xargs -0 rmdir -p

rmdir: failed to remove directory `1/a': Directory not empty
rmdir: failed to remove directory `1/a': Directory not empty
rmdir: failed to remove directory `1': Directory not empty
rmdir: failed to remove directory `1/b': Directory not empty
rmdir: failed to remove directory `1/b': Directory not empty
rmdir: failed to remove directory `1': Directory not empty
rmdir: failed to remove directory `1/c': Directory not empty
rmdir: failed to remove directory `1/c': Directory not empty

sdio ★★★★★
()
Ответ на: комментарий от sdio

Хм. Ну, скажем, что -delete в старых find'ах нет. Не знаю когда он появился, но на одной из своих систем я его не обнаружил. Хотя, это не серьёзная проблема, конечно.

А к моему варианту надо, конечно, добавить "--ignore-fail-on-non-empty". Тогда такого не будет.

Сейчас глянем strace find'а...

Lego_12239 ★★
()
Ответ на: комментарий от Lego_12239

Блин, этот новый ключик мне нравится :-). Ни одного clone(). Симпатично. Но пугает немного разбавление часностями find'а. find превращается в комбайн?

Lego_12239 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.