- Проверить наличие файлов в директории, pavard, 16:59 , 13-Авг-17 (1)
find DIR -maxdepth 0 -empty
- Проверить наличие файлов в директории, Andrey Mitrofanov, 12:22 , 14-Авг-17 (9)
> find DIR -maxdepth 0 -empty ммм, не работает. может, непустой stdout надо проверять... [ -z "$(find "${DIR}" -maxdepth 0 -empty -print -quit)" ] && echo 'наличие файлов в DIR' Или вот так: [ "$(find "${DIR}" -mindepth 1 -print -quit)" ] По идее, с -quit д.бы быть быстрее, чем ls, но не проверял.
- Проверить наличие файлов в директории, ЫЫ, 08:12 , 15-Авг-17 (17) –1
> find DIR -maxdepth 0 -empty ключи: Цитирую автора: " 1) могут меняться, 2) отличаться в разных реализациях, 3) это какой-то лютый здец так программировать. самого не коробит? " в частности: find DIR -maxdepth 0 -empty find: bad option -maxdepth
- Проверить наличие файлов в директории, Andrey Mitrofanov, 10:42 , 15-Авг-17 (18)
> ключи: > Цитирую автора: > " > 1) могут меняться, 2) отличаться в разных реализациях, 3) это какой-то лютый > здец так программировать. самого не коробит? > " > в частности: > find DIR -maxdepth 0 -empty > find: bad option -maxdepth Неблагодарный! Давно б уже "автора" монетизиорлвал, профессиональненько. ЫЫ, 13:31 , 14-Авг-17, (13) И да... за адаптацию под любую из дополнительных систем- я возьму дополнительные деньги... :) ---Бесконечная совместимомть -- за бесконечные деньги!!
- Проверить наличие файлов в директории, pavard, 00:46 , 18-Авг-17 (20)
это где у тебя опции нет?
- Проверить наличие файлов в директории, 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 ]
- Проверить наличие файлов в директории, pavard, 00:41 , 14-Авг-17 (3) –1
du --inodes --max-depth 0 совершит обход всего каталога и вложенных. вариант медленее чем ls, предложенный автором.
- Проверить наличие файлов в директории, Kazak, 11:59 , 14-Авг-17 (8)
> du --inodes --max-depth 0 > совершит обход всего каталога и вложенных. вариант медленее чем ls, предложенный автором. Точно медленее, сорри
- Проверить наличие файлов в директории, ЫЫ, 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: удалить каталог 'пустойкаталог'?
- Проверить наличие файлов в директории, ЫЫ, 10:36 , 14-Авг-17 (5) –1
>[оверквотинг удален] >> [ $(ls DIR | wc -l) -eq 0 ] >> Задача решена, но очевидно будет бредом, если директория может содержать "миллион" файлов. >> И думаю вариант типа ls | head -n1 тоже не очень хорошо. >> Есть ли более цивильное решение? >> Спасибо > Отработайте выхлоп rm: > rm -di непустойкаталог > rm: невозможно удалить 'непустойкаталог': Каталог не пуст > rm -di пустойкаталог > rm: удалить каталог 'пустойкаталог'?ну или гляньте исходник rm как он проверяет что каталог не пуст
- Проверить наличие файлов в директории, pavard, 11:39 , 14-Авг-17 (7)
> Отработайте выхлоп rm: для всех локалей?
- Проверить наличие файлов в директории, ЫЫ, 13:01 , 14-Авг-17 (10)
>> Отработайте выхлоп rm: > для всех локалей?Это же ЮниксВэй.. какая вам разница что там за локаль у юзера? :) Работаете в своей. делается так: export LANGUAGE=en; rm -di непустойкаталог
- Проверить наличие файлов в директории, pavard, 13:14 , 14-Авг-17 (11)
для всех реализаций и их сообщений? сообщения команд не относятся к апи и: 1) могут меняться, 2) отличаться в разных реализациях, 3) это какой-то лютый здец так программировать. самого не коробит?
- Проверить наличие файлов в директории, ЫЫ, 13:28 , 14-Авг-17 (12)
> для всех реализаций и их сообщений? сообщения команд не относятся к апи > и: 1) могут меняться, 2) отличаться в разных реализациях, 3) это > какой-то лютый здец так программировать. самого не коробит?Как так? Вы похоже только что с курсов телепатов... Есть конкретная задача... Она решается. Человек пишущий универсальный чекер на все случаи систем - и задающий такой вопрос- мягко говоря занимается не тем делом к которому у него есть талант. Мое решение- быстро и эффективно, без оверхеда, решает задачу. на конкретной системе. Ваши претензии- надуманны. > и: 1) могут меняться, если вы собираетесь использовать решение на многих системах неизвестной архитектуры- посмотрите как и было посоветовано исходник rm. >2) отличаться в разных реализациях, Человек собирается использовать свой скрипт на разных реализациях? Он вам это в личной переписке сказал? Или телепатия? >3) это какой-то лютый здец так программировать. самого не коробит?
Это быстрое, простое и эффективное решение не претендующее на универсальность. А почему это должно коробить?
- Проверить наличие файлов в директории, ЫЫ, 13:31 , 14-Авг-17 (13)
>[оверквотинг удален] > Как так? Вы похоже только что с курсов телепатов... > Есть конкретная задача... Она решается. > Человек пишущий универсальный чекер на все случаи систем - и задающий такой > вопрос- мягко говоря занимается не тем делом к которому у него > есть талант. > Мое решение- быстро и эффективно, без оверхеда, решает задачу. на конкретной системе. > Ваши претензии- надуманны. >> и: 1) могут меняться, > если вы собираетесь использовать решение на многих системах неизвестной архитектуры- посмотрите > как и было посоветовано исходник rm.И да... за адаптацию под любую из дополнительных систем- я возьму дополнительные деньги... :) Нет не треснет :) >>2) отличаться в разных реализациях, > Человек собирается использовать свой скрипт на разных реализациях? Он вам это в > личной переписке сказал? Или телепатия? >>3) это какой-то лютый здец так программировать. самого не коробит? > Это быстрое, простое и эффективное решение не претендующее на универсальность. > А почему это должно коробить?
- Проверить наличие файлов в директории, ЫЫ, 14:20 , 14-Авг-17 (14)
>[оверквотинг удален] > И да... за адаптацию под любую из дополнительных систем- я возьму дополнительные > деньги... > :) > Нет не треснет :) >>>2) отличаться в разных реализациях, >> Человек собирается использовать свой скрипт на разных реализациях? Он вам это в >> личной переписке сказал? Или телепатия? >>>3) это какой-то лютый здец так программировать. самого не коробит? >> Это быстрое, простое и эффективное решение не претендующее на универсальность. >> А почему это должно коробить?Ну и наконец.. "find DIR -maxdepth 0 -empty" просто поражает своей привязкой к api, неотличаемостью на разных архитектурах и не коробимостью.. :)
- Проверить наличие файлов в директории, pavard, 23:48 , 14-Авг-17 (15)
понимаю задел. тут даже если ты сам поймешь что не прав - об этом не скажешь и будешь доказывать провоту. если ты привык так писать - ок пиши.
- Проверить наличие файлов в директории, ыы, 06:16 , 15-Авг-17 (16)
> понимаю задел. тут даже если ты сам поймешь что не прав - > об этом не скажешь и будешь доказывать провоту. если ты привык > так писать - ок пиши.Ты похоже реально не понимаешь что ключи у программы- на разных платформах и разных реализациях могут быть разные... и нет принципиально никакой разницы между тем что предложил я и тем что предложил ты... Ну.. не понимаешь и не понимаешь... что ж тут поделаешь :)
- Проверить наличие файлов в директории, XAnder, 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 — на непустом.
- Проверить наличие файлов в директории, pavlinux, 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;
|