ZSH: Рекурсивный globbing с .directories

Другой опцией является Slitaz, который является крошечным (30 МБ), работает полностью в RAM и так или иначе умеет идти с полным находящимся в Openbox рабочим столом и большим количеством пакетов.

7
19.12.2011, 01:42
2 ответа

Самый легкий способ сделать точку соответствия шаблона шарика файлами состоит в том, чтобы использовать D спецификатор шарика.

**/*(D)

Приоритет ~ ниже, чем /, так **~.hg/* ** минус соответствия для .hg/*. Но ** является только особенным, если это прежде a /, таким образом, здесь это соответствует файлам в текущем каталоге. Исключить .hg и его содержание, Вам нужно

**/*~.hg~.hg/*(D)

Обратите внимание, что zsh все еще пересечет .hg каталог, который может занять время; это - ограничение **: Вы не можете установить список исключения непосредственно на этом уровне.

10
27.01.2020, 20:16

**/*(D) (короткий для (*/)#*(D)) включает dotfiles и dotdirs, как уже сказано.

Если Вы хотите исключить .hg каталоги на каждом уровне, Вам нужно:

(^.hg/)#^.hg(D)

(Вам нужно setopt extendedglob для ^ оператор)

Как уже сказано, ~pattern, исключит записи (на основе того, соответствует ли их полное расширение "шаблону" после того, как список был сгенерирован, так не остановит его для убывания в subdirs).

4
27.01.2020, 20:16

Теги

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