On Tue, Nov 12, 2013 at 12:35 PM, Dan White <[email protected]> wrote:

> The recent traffic about "puppet master --compile ..." got me tinkering
> with it.
>
> I found a lot of old syntax in my templates, so I added "@" in front of
> all the current scope variables.
> That got rid of all the grumbles but one:
>
>   Warning: Unrecognised escape sequence '\1'
>   Warning: Unrecognised escape sequence '\2'
>
> from one of my manifests/init.pp files.
>
> The offending code can be found here:
>
>
> https://github.com/mcgonagle/puppet_nist/blob/master/nist/modules/umask/manifests/init.pp
>
> ...at the end of the file,
>
>     define umask-replace($file) {
>         exec {
>             "umask_replace_${file}":
>                 command => "/bin/sed -i -r 's/(umask)([
> \t]*)[0-9]{3}/\1\2077/gi' $file",
>                 onlyif  => "/usr/bin/test `/bin/egrep -i
> '(umask|UMASK)[[:space:]]*[0-9]{3}' $file | /bin/egrep -v -i
> '(umask|UMASK)[[:space:]]*077' | /bin/wc -l` -ne 0";
>         }
>     }
>
> Specifically, the "command" line
>

Since you're in a double quoted string, I assume the \1 and \2
backreferences need to be escaped:

  "/bin/sed -i -r 's/(umask)([ \t]*)[0-9]{3}/\\1\\2077/gi' $file",

Josh

-- 
Josh Cooper
Developer, Puppet Labs

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CA%2Bu97ukxB7axgr4qEDj9o41qfFW34ovgyGjfK8tKXw2XecX20w%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to