验证文件名是否与目录名匹配

时间:2019-06-07 15:26:55

标签: json ruby parsing terraform

必须编写一个ruby脚本,该脚本可以验证s3中的键是否与目录名匹配。
我有一个json文件,路径名-Apple/Employee/Background/test.tf

如何验证我的目录路径Apple/Employee/Background/是否与json文件中的“键”:“ Apple / Employee / Background / ”匹配。

我使用jq并解析了json文件来检索“ key”的值。

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

Apple / Employee / Background / 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 :(得分:0)

您可以使用File.dirname获取减去基本条目的目录路径(在本例中为“ terraform.tfstate”)

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

请注意,返回的路径不带斜杠。