[augeas-devel] shellvars - regex parsing help

Adam Stokes ajs at redhat.com
Thu Jan 14 17:03:35 UTC 2010


Hi,

> be. To pinpoint better which line is causing headaches, you might
> want
> to upgrade to 0.6.0.

F-11 seems to be on augeas 0.6.0-2

> 
> > current shellvars comment:
> >   let key_re = /[A-Za-z0-9_]+(\[[0-9]+\])?/ - "unset" - "export"
> >   let eq = Util.del_str "="
> >   let empty   = Util.empty
> >   let comment       = 
> >     let line_re     = /(#[^ \t][^\n]*)?/ - (key_re . "=" . /.*/) in
> >     [ label "#comment" . empty . store line_re . del /\n/ "\n" ]
> > 
>

Here is my latest attempt

   let comment     =
      let line_re = /([^ \t\n].*[^ \t\n]|[^ \t\n])/ - /([ \t]key_re . [ \t]*=[ \t]*.*[ \t\n])/ in
      [ label "#comment" . del /#[ \t]*/ "# " . store line_re . del /\n/ "\n" ]
 
> In your specific case, it is most likely that you have a line in that
> file that is neither matched by comment nor by kv. To narrow this
> down
> some more, I'd need to see the actual file that you are using.
> 

I have simplified the file down to just a few lines

[root at jak dist]# cat /etc/sysconfig/nfs
# THIS IS A COMMENT FOR MOUNTD
# 
# TESTINGVAR=VAL
# MOUNTD_PORT=892

> A simple way to do this for yourself is to write yourself a module
> t.aug
> that looks like
> 
>   module T
>     let s = Sys.read_file "/etc/sysconfig/nfs"
>     test Shellvars.lns get = ?
> 

Running through the test I'm getting

[root at jak dist]# augparse t.aug 
Test failure:t.aug:5.4-6.28:
 Expected:
{ 
  { "TESTINGVAR" = "VAL" }
}

 Actual:
{ 
  { "#comment" = "TESTINGVAR=VAL" }
}

Test failure:t.aug:7.4-8.29:
 Expected:
{ 
  { "MOUNTD_PORT" = "892" }
}

 Actual:
{ 
  { "#comment" = "MOUNTD_PORT=892" }
}

No error

I feel like im almost there it just isn't ignoring the items that look like a 'var=val' within a comment.
-- 
        __          __                
.-----.|  |_.-----.|  |--.-----.-----.
|__ --||   _|  _  ||    <|  -__|__ --|
|_____||____|_____||__|__|_____|_____|
 .----------------------------------.
(   ajs at redhat.com || 919.754.4187   )
 `----------------------------------'




More information about the augeas-devel mailing list