LINUX.ORG.RU

Re: Удалить пустые каталоги

man find

find -type d -print0 | xargs -0 rmdir -p --ignore-fail-on-non-empty

Lego_12239 ★★ ()
Ответ на: Re: Удалить пустые каталоги от anonymous

Re: Удалить пустые каталоги

Нет. В данном случае ничего не будет форкаться.
Т.е. должно быть быстрее, чем с 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 ★★★★★ ()
Ответ на: Re: Удалить пустые каталоги от sdio

Re: Удалить пустые каталоги

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

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

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

Lego_12239 ★★ ()
Ответ на: Re: Удалить пустые каталоги от Lego_12239

Re: Удалить пустые каталоги

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

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