- find DIR -maxdepth 0 -empty, pavard (ok), 16:59 , 13-Авг-17 (1)
find DIR -maxdepth 0 -empty
- ммм, не работает может, непустой stdout надо проверять -z find DIR , Andrey Mitrofanov (?), 12:22 , 14-Авг-17 (9)
- ключи Цитирую автора 1 могут меняться, 2 отличаться в разных реализациях, 3, ЫЫ (?), 08:12 , 15-Авг-17 (17) –1
- du --inodes DIR 124 cut -f1 -eq 1 , Kazak (??), 20:40 , 13-Авг-17 (2) –1
> Надо просто проверить пустая ли директория. > Ожидал, что в test будет аналог -s FILE, но не нашёл. > Написал такой колхоз > [ $(ls DIR | wc -l) -eq 0 ] > Задача решена, но очевидно будет бредом, если директория может содержать "миллион" файлов. > И думаю вариант типа ls | head -n1 тоже не очень хорошо. > Есть ли более цивильное решение? > Спасибо [ $(du --inodes DIR | cut -f1) -eq 1 ]
- Отработайте выхлоп rm rm -di непустойкаталогrm невозможно удалить непустойката, ЫЫ (?), 10:35 , 14-Авг-17 (4) –1
> Надо просто проверить пустая ли директория. > Ожидал, что в test будет аналог -s FILE, но не нашёл. > Написал такой колхоз > [ $(ls DIR | wc -l) -eq 0 ] > Задача решена, но очевидно будет бредом, если директория может содержать "миллион" файлов. > И думаю вариант типа ls | head -n1 тоже не очень хорошо. > Есть ли более цивильное решение? > Спасибо Отработайте выхлоп rm: rm -di непустойкаталог rm: невозможно удалить 'непустойкаталог': Каталог не пуст rm -di пустойкаталог rm: удалить каталог 'пустойкаталог'?
- Если верить исходникам ls, в некоторых случаях он может не читать весь каталог п, XAnder (ok), 11:35 , 14-Авг-17 (6)
> [ $(ls DIR | wc -l) -eq 0 ] > Задача решена, но очевидно будет бредом, если директория может содержать "миллион" файлов. > И думаю вариант типа ls | head -n1 тоже не очень хорошо. Если верить исходникам ls, в некоторых случаях он может не читать весь каталог перед выводом, а выводить сразу: /* In this narrow case, print out each name right away, so ls uses constant memory while processing the entries of this directory. Useful when there are many (millions) of entries in a directory. */ if (format == one_per_line && sort_type == sort_none && !print_block_size && !recursive)
Должно сработать что-то вроде этого: ls -f1 | head -n3 | wc -l
Выведет 2 на пустом каталоге (. и ..) и 3 — на непустом.
- code for i in find -type d do if stat -c s i -gt 6 then echo i FU, pavlinux (ok), 01:10 , 18-Авг-17 (21)
> Есть ли более цивильное решение?for i in `find / -type d`; do if [ `stat -c%s $i` -gt 6 ]; then echo $i FULL; else rmdir $i; fi; done;
|