& Ldquo; globstar & Rdquo; эквивалент в тире (оболочка Debian Almquist)

Я использую /bin/dash в проекте, но мне нужно, чтобы **/filename.ext имел рекурсивное поведение (т. Е. globstar включено в bash).

Доступно ли globstar в dash? Есть ли подобная особенность или альтернативный механизм?

0
задан 9 January 2018 в 20:27

1 ответ

При просмотре справочной страницы globstar недоступен в Dash, и аналогичная функция отсутствует. Dash даже не поддерживает массивы, поэтому работать с именами файлов сложно.

Самым близким, что я могу придумать, является составление списка имен файлов, например, с помощью. find, однако имена файлов, содержащие символы новой строки, могут испортить список, так что вы можете сначала проверить их с помощью

find . -print0 | grep -zPq '\n'

, который вернет успех, если он найдет, и ошибку, если он не ' т.

Или, в зависимости от ваших потребностей, вы можете поместить find . -print0 в конвейер с любыми командами, которые вам нужно выполнить, или вывести в файл, а затем проанализировать файл.

0
ответ дан 9 January 2018 в 20:27

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

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