我想使用厨师食谱配方编辑文件。 如,厨师食谱FileEdit insert_line_after_match和insert_line_if_no_match
[attribute1]
foo=bar
[attribute2]
....
我想改变它像现在,该文件显示:
[attribute1]
foo=bar
newfoo=newbar
[attribute2]
....
所以基本上,我想添加一个行,如果它没有在文件中存在的,我要添加它在该文件中的特定行之后。
我找到2个选项,在Class: Chef::Util::FileEdit
可能有用,在这里可以输入insert_line_after_match
和insert_line_if_no_match
。但我想要一个可以执行这两个操作的选项。如果我使用insert_line_after_match
,它适用于第一次运行,但对于下一次运行,即使线已经存在于文件中,它也会继续添加行。并且insert_line_if_no_match
如果文件中不存在行,则在文件末尾添加行,但是我想要在该文件中的特定行之后添加行。
我对厨师食谱有点新鲜。有没有解决上述问题的方法?