Эквивалент "глобстар" в тире (оболочка Debian Almquist)
Я использую /bin/dash
на проекте, но мне нужно для **/filename.ext
иметь рекурсивное поведение (т.е. globstar
включен в bash
).
Является globstar
доступно в dash
? Есть ли подобная особенность или альтернативный механизм?
1 ответ
При просмотре справочной страницы globstar недоступен в Dash, и аналогичной функции нет. Dash даже не поддерживает массивы, поэтому работать с именами файлов сложно.
Самое близкое, что я могу придумать, это составить список имен файлов, используя, например, find
Однако имена файлов, содержащие символы новой строки, могут испортить список, поэтому вы можете сначала проверить их с помощью
find . -print0 | grep -zPq '\n'
которая вернет успех, если найдет, и ошибку, если не найдет.
Или, в зависимости от ваших потребностей, вы можете поставить find . -print0
в конвейере с любыми командами, которые вам нужно запустить, или вывести в файл, а затем проанализировать файл.