Получил список файлов конфигурации, которые находятся за пределами папки шаблонов, которые мы вводим в рулевую диаграмму, как показано ниже:
├── configs
│ ├── AllEnvironments
│ │ ├── Infrastructure
│ │ └── Services
│ │ ├── ConfigFile1
│ │ ├── ConfigFile2
│ ├── Apps
│ │ ├── App1
│ │ ├── App2
│ │ └── App3
│ ├── ManagementEnvironments
│ │ ├── Database
│ │ │ ├── DbFile1
│ │ │ └── DbFile2
│ │ ├── Infrastructure
│ ├── TestEnvironments
│ │ ├── Pipeline
│ │ │ └── Pipeline1
│ │ ├── Database
│ │ │ ├── Pipeline2
│ ├── Console
│ │ ├── Console1
│ │ ├── Console2
Пока что это хорошо для нас. Теперь нам нужно разобрать папки и получить список всех папок в конфигах, которые не заканчиваются средами. Таким образом, в основном это диапазон, который включает в себя приложения и консоль в этом случае.
Делая следующее, я получаю повторение приложений 3 раза, так как столько файлов находится под ним, а также консоль 2 раза.
Я хотел бы получить список папок, которые не заканчиваются средой только один раз.
Я пытался взглянуть на шаблоны Go и некоторые наборы инструментов рулевого управления, но у меня нет опыта работы с Go, что кажется необходимым для этого, и я, вероятно, возьму на себя следующие несколько дней. Но сейчас я застрял, поэтому любая помощь приветствуется.
{{- range $path, $bytes := $.Files.Glob "configs/**" }}
{{- if not (or (dir $path | regexFind "configs.*Environments.*") (dir $path | regexFind "configs$")) }}
{{ base (dir $path) }}
{{- end }}
{{- end }}