проверка имени файла соответствует имени каталога - PullRequest
0 голосов
/ 07 июня 2019

Необходимо написать скрипт ruby, который может проверить, что ключ в s3 соответствует имени каталога.
У меня есть файл JSON, имя пути - Apple/Employee/Background/test.tf

Как проверить, что мой путь к каталогу Apple/Employee/Background/ совпадает с «ключом»: « Apple / Employee / Background / » в файле json.

Я использовал jq и проанализировал файл json, чтобы получить значение «ключа».

cat conf.json | jq '.terraform[] | .backend[] | .s3[] | .key'

" Apple / Сотрудник / Фон / terraform.tfstate "

Я хочу сравнить только Apple/Employee/Background с путем к каталогу и посмотреть, совпадают они или нет.

Файл JSON выглядит так:

"terraform": [
    {
  "backend": [
    {
      "s3": [
        {
          "bucket": "terraform-dev",
          "dynamodb": "terraform_files",
          "encrypt": "true",
          "key": "Apple/Employee/Background/terraform.tfstate"
        }
      ]
    }
  ],
  "required_version": "~> 0.11.8"
}
] 

путь к каталогу выглядит как - Apple / Employee / Background / conf.tf

1 Ответ

0 голосов
/ 08 июня 2019

Вы можете использовать File.dirname, чтобы получить путь к каталогу за вычетом базовой записи (в данном случае, 'terraform.tfstate')

# Assuming `key` contains the value from the JSON file
dir = File.dirname(key) # => "Apple/Employee/Background"

Обратите внимание, что путь возвращается без завершающей косой черты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...