Исключить каталоги в глобусе ZSH

1301
Erik

С zsh вы можете использовать **/*как короткую альтернативу использованию find. Есть ли способ ограничить это обычными файлами, что эквивалентно -type fопции?

4

1 ответ на вопрос

9
qqx

Вы можете добавить (.)шаблон, чтобы ограничить совпадения простыми файлами, если эта Bare_Glob_Qualопция установлена, что по умолчанию, если у вас нет zsh, эмулирующего какую-либо другую оболочку. Это описано в разделе Glob Qualifiers справочной страницы zshexpn .

Таким образом, будет полный шаблон для сопоставления обычных файлов в текущем каталоге и любых его подкаталогах **/*(.).

В то время как ваш ответ полностью соответствует телу вопроса - я хочу прокомментировать заголовок вопроса @ Erik: для исключения каталогов используйте `** / * (^ /)` - с этими символьными ссылками в списке указаны fifo и т. Д., А с `* * / * (.) `это не так. mpy 11 лет назад 3

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