如果存在,则使用 chef 更改文件中的文本,如果不存在,则添加
change text in file with chef if exists and add if doesn't
我知道厨师可以在模式不存在时向文件添加一行
http://www.rubydoc.info/gems/chef/Chef/Util/FileEdit:insert_line_if_no_match
如果模式确实存在,您甚至可以更新文件中的一行
http://www.rubydoc.info/gems/chef/Chef/Util/FileEdit:search_file_replace_line
是否有方便的方法来添加(如果不存在)并替换(如果存在)?
为什么不自己写一个小帮手呢?
def update_or_insert(regex, newline)
search_file_replace_line(regex, newline) || insert_line_if_no_match(regex, newline)
end
如果它确实找到任何要替换的东西,这将 return 进行更改,或者如果它发现需要添加行,return 进行更改。
我知道厨师可以在模式不存在时向文件添加一行
http://www.rubydoc.info/gems/chef/Chef/Util/FileEdit:insert_line_if_no_match
如果模式确实存在,您甚至可以更新文件中的一行
http://www.rubydoc.info/gems/chef/Chef/Util/FileEdit:search_file_replace_line
是否有方便的方法来添加(如果不存在)并替换(如果存在)?
为什么不自己写一个小帮手呢?
def update_or_insert(regex, newline)
search_file_replace_line(regex, newline) || insert_line_if_no_match(regex, newline)
end
如果它确实找到任何要替换的东西,这将 return 进行更改,或者如果它发现需要添加行,return 进行更改。