Solaris 11 находит пустые папки (-пустые не работают)
Как найти пустой каталог и удалить в Solaris 11.
Я пытаюсь это:
find . -type d -empty
Выход:
find: bad option -empty
find: [-H | -L] path-list predicate-list
3 ответа
Вот еще один пример. Это должно работать быстрее.
Он основан на выводе команды 'ls -ed', которая заменяет поле размера (пятое) для каталогов информацией о его содержимом. Пустые каталоги всегда будут иметь "2" в этом поле.
Также xargs используется для уменьшения количества команд для исполнения.
find . -type d | xargs -i ls -ed {} | awk '{if ($5=="2"){ print $0 }}'
В Solaris по умолчанию нет -impty, если у вас есть /usr/xpg4/bin/find
это должно поддержать это
Другой способ - написать это так:
find . -type d|while read name; do if (( $(ls -al $name|wc -l) == 3 )); then echo $name; fi; done
- Основываясь на работе пользователя lasse, полное обсуждение здесь - https://www.unix.com/unix-for-dummies-questions-and-answers/49739-how-find-empty-folders-without-using-empty.html