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

-empty Аргумент является нестандартным расширением стандартизированной POSIX find утилита

Солярис 11 должен иметь GNU find установлен как gfind где-то.

Другие вопросы по тегам