У меня вопрос к count и отображение number из sub-directories, включая скрытые (invisible sub-directories) рекурсивно. Я могу отображать подкаталоги рекурсивно, но меня путают с невидимыми подкаталогами. Кроме того, я могу использовать команды ls и wc для решения. Пожалуйста, не предлагайте команду 'find', я должен использовать только команды ls и wc.
До сих пор я пробовал следующие команды.
ls -1 | wc -l
ls -R | wc -l
ls -R | wc -c
ls -aR | wc -l
ls -aR | wc -c
Но все еще я не нашел решение. Можете ли вы, пожалуйста, просветить меня.
Я просто перечитал вопросы и заметил, что он не хочет использовать find.
Я нашел два, которые кажутся для обоих правильными:
Первый :
ls -lR | grep ^d | wc -l
Второе:
ls -Rp | grep "/$" | wc -l
По моему опыту find - лучший инструмент для поиска файлов или каталогов - особенно рекурсивно и в том числе имена файлов точек.
find -mindepth 1 -type d | wc -l
Вы можете немного оптимизировать, если вы только пишете и считаете одиночным символы для каждого совпадения:
expr $(find -mindepth 1 -type d -printf 1 | wc -c) - 1
Если вы хотите включить рабочий каталог в результат, установите -mindepth в 0 (или опустите его).