Путать с решением псевдонима?

Я пытаюсь определить псевдоним для группы команд, которые подсчитывают рекурсивно и отображают количество всех подкаталогов, обнаруженных для любого рабочего каталога (в том числе с невидимыми именами файлов). Пока что я сделал:

ls -R | wc -l

Но он не отображает номер скрытых файлов. Поэтому я попробовал эту команду:

ls -l | grep ^d | wc -l

Но я не уверен, что это правильная команда или нет?

1
задан 14 November 2013 в 13:32

3 ответа

Вы не должны никогда анализировать выходные данные ls. См. Некоторые объяснения здесь:

Как и другие рекомендованные, используйте find вместо. И лучший способ (даже если у вас есть имена каталогов, содержащие символы новой строки или другие типы пробелов):

alias countdir='find . -type d -print0 | tr -dc "\\0" | wc -c'

См. man find, man tr, man wc для получения дополнительной информации.

0
ответ дан 14 November 2013 в 13:32

Является ли find . -type d|wc -l решением?

0
ответ дан 14 November 2013 в 13:32

Я бы порекомендовал использовать find ( man page ) для поиска. Например,

find . -maxdepth 1 -type d | wc -l

напечатает номер всех каталогов в текущем рабочем каталоге.

Опция -maxdepth определяет, как далеко find опустится в каталоги. При значении 1 он будет просто использовать текущий каталог и перечислять свои подкаталоги. С помощью 2 он также выведет список подкаталогов подкаталогов и т. Д.

У этого есть только один маленький недостаток: find включает в свой список . (текущий рабочий каталог), поэтому число, возвращаемое wc -l, будет отключено на единицу.

0
ответ дан 14 November 2013 в 13:32
  • 1
    Конфигурация GRUB может быть хитрой, который делает ее использование в Вашей ситуации проблематичным. I' d используют, что-то еще - видит ссылки, которые я предоставил для получения дополнительной информации. – Rod Smith 14 May 2015 в 16:03

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

Похожие вопросы: