help-cfengine
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: editfiles and replacing on one line


From: Mark Burgess
Subject: Re: editfiles and replacing on one line
Date: Mon, 07 Nov 2005 07:05:58 +0100

How would you do it is perl? With a regular expression? 
If the problem is that you don't really know what you are looking for,
or what the result should look like, then it seems to me that trying to
do it in perl will not help you either. Perhaps this is where the
problem lies...

M

On Sun, 2005-11-06 at 21:07 -0500, Viraj Alankar wrote:
> Thanks. So I guess there is no way if I don't know what the exact line
> will look like? Basically I could do a 'perl -pie' but was hoping I
> could do it within cfengine.
> 
> Viraj.
> 
> On 11/6/05, Brendan Strejcek <brendan@cs.uchicago.edu> wrote:
> > Viraj Alankar wrote:
> >
> > > ...
> > > /dev/sda2               /tmp                    ext3
> > > defaults,nosuid,nodev,noexec        1 2
> > > ...
> > >
> > > I would like to remove ',noexec' from this line only. I thought of
> > > using LocateLineMatching to find the line, but am not sure how to do
> > > the replacement.
> >
> > Here is a very careful way to do it, though it requires that you know
> > the entire form of the line you want to end up with.
> >
> > control:
> >     fstab_line = ( "/dev/sda2 /tmp ext3 defaults,nosuid,nodev 1 2" )
> >
> > editfiles:
> >     { /etc/fstab
> >         AppendIfNoSuchLine "${fstab_line}"
> >         ResetSearch "1"
> >         LocateLineMatching "^/dev/sda2.*$"
> >         BeginGroupIfNoMatch "^${fstab_line}$"
> >             ReplaceLineWith "${fstab_line}"
> >         EndGroup
> >         DeleteLinesAfterThisMatching "^/dev/sda2.*$"
> >         CatchAbort
> >     }
> 
> 
> _______________________________________________
> Help-cfengine mailing list
> Help-cfengine@gnu.org
> http://lists.gnu.org/mailman/listinfo/help-cfengine





reply via email to

[Prev in Thread] Current Thread [Next in Thread]