0

When executing the below chef inspec command getting error.

describe command ("cat sql.conf | grep 'log_filename'") do
  its('stdout') {should match (/^'sql-(\d)+.log'/)}
end

Expected pattern matching is sql-20201212.log. pls check.

Mr.
  • 9,429
  • 13
  • 58
  • 82

1 Answers1

1

This regex /^'sql-(\d)+.log'/ doesn't match this string sql-20201212.log. You can try it out on https://regexr.com/

There are a few problems with your regex:

  • ' is in your regex but not in your string
  • . matches any character expect line breaks, perhaps you want to match only a dot(?), if so, then you'd need to e.g. escape it \.
  • you probably don't need to have \d in a group (())

So, this regex ^sql-\d+\.log$ would match sql-20201212.log string. I also added $ to match the end of the string.

pavelsaman
  • 7,399
  • 1
  • 14
  • 32