Forum: CFEngine Help
Subject: Re: delete_lines and select region
Author: jbdenis
Link to topic: https://cfengine.com/forum/read.php?3,26551,26636#msg-26636
Ok. Got it in the train on my way back home. I have to "protect" the
delete_lines to append if the insert_lines part has already been run. Something
like the following (not well tested, this is just the spirit) :
bundle edit_line editfile
{
vars:
"sdelim" string => "#### CFENGINE ANCHOR";
# We do this to make the classname unique per filename, so that this
bundle
# can be used on different files without interference.
"deletedone" string =>
concat(canonify("$(edit.filename)"),"_delete_region_done");
"insertdone" string =>
concat(canonify("$(edit.filename)"),"_insert_region_done");
delete_lines:
".*"
select_region => from_line("$(sdelim)"),
classes => if_ok("$(deletedone)"),
ifvarclass => "!$(deletedone).!$(insertdone)";
# I want to insert my anchor line if it is not present the first time
insert_lines:
"1";
"2";
"3";
classes => if_ok("$(insertdone)");
}
_______________________________________________
Help-cfengine mailing list
[email protected]
https://cfengine.org/mailman/listinfo/help-cfengine