подсчет определенного файла в каталоге

Если я правильно помню, в пакете dropbox для 13.10 есть ошибка с ошибкой. Ср Launchpad.

Если это не ошибка, прочитайте launchpad .

1
задан 17 October 2015 в 20:17

1 ответ

Не используйте ls.

Используйте массив оболочки для хранения имени файлов, заканчивающихся на o:

files=( *o )

Теперь выполните:

echo "${#files[@]}"

, чтобы получить количество файлов.

@steeldriver сделал справедливую точку, если у вас нет подходящих имен файлов, тогда шаблон glob будет восприниматься буквально. Из-за этого, несмотря на отсутствие совпадающих имен файлов, вы все равно получите количество файлов как 1.

Чтобы преодолеть этот параметр, установите опцию nullglob или failglob:

shopt -s nullglob
shopt -s failglob
4
ответ дан 23 May 2018 в 16:36
  • 1
    +1, хотя вам нужно быть осторожным в отношении нулевых глобусов (возможно, добавьте shopt -s nullglob?) – steeldriver 17 October 2015 в 20:39
  • 2
    @steeldriver хорошая точка..модифицированный .. – heemayl 17 October 2015 в 20:47

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

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