Forum: Cfengine Help Subject: Re: Edit region of file - remove existing content Author: phnakarin Link to topic: https://cfengine.com/forum/read.php?3,18633,20840#msg-20840
Anyhow, I tried to reproduce the error from this thread. It turned out to be working fine for me in 3.1.4 Here is my test code; bundle agent test_region { files: "/tmp/test_dest.txt" comment => "Test, insert stuff into selected region of file", # edit_line => insert_between_region_001("## CF3 PROTECTED AREA DO NOT EDIT ##","/tmp/test_insert.txt"); edit_line => insert_between_region_002("## CF3 PROTECTED AREA DO NOT EDIT ##","## END CF3 PROTECTED AREA DO NOT EDIT ##", "/tmp/test_insert.txt"); } #################### bundle edit_line insert_between_region_001(delim,insert_file) { delete_lines: ".*" select_region => start_end("$(delim)","$(delim)"), delete_select => example_001("$(delim)"); insert_lines: "$(insert_file)" select_region => start_end("$(delim)","$(delim)"), insert_type => "file"; } # bundle edit_line insert_between_region_002(sdelim,edelim,insert_file) { delete_lines: ".*" select_region => start_end("$(sdelim)","$(edelim)"), delete_select => example_002("$(sdelim)","$(edelim)"); insert_lines: "$(insert_file)" select_region => start_end("$(sdelim)","$(edelim)"), insert_type => "file"; } # body delete_select example_001(s) { delete_if_not_match_from_list => { @(s) }; } # body delete_select example_002(s1,s2) { delete_if_not_match_from_list => { "$(s1)","$(s2)" }; } # body select_region start_end(start,end) { select_start => "$(start)"; select_end => "$(end)"; include_start_delimiter => "false"; include_end_delimiter => "false"; } #################### Please correct me if I did something wrong. Cheers, --Nakarin _______________________________________________ Help-cfengine mailing list Help-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/help-cfengine