Привет это то, что я пытаюсь сделать:можно ли отредактировать одну и ту же строку дважды в том же ruby_block, используя 2 вызова FileEdit? [Повар]
ruby_block "modify line" do
block do
file= Chef::Util::FileEdit.new("/someExistingFile.txt")
file.insert_line_if_no_match(/^11$/, "#this is a comment\n#11")
file.search_file_replace_line(/^#11$/, "11")
file.write_file
end
end
После применения кулинарной она добавляет «11», но я не вижу «# Это комментарий» линия.
Можно ли последовательно запускать эти две строки?
file.insert_line_if_no_match(/^11$/, "#this is a comment\n#11")
file.search_file_replace_line(/^#11$/, "11")
Ожидаемые результаты [someExistingFile.txt]:
#this is a comment
11
Фактический выход [someExistingFile.txt]:
11
Кроме того, я изменил его вокруг, как это:
file.insert_line_if_no_match(/^11$/, "#this is a comment\n#11")
file.search_file_replace_line(/^#this is a comment$/, "this is a comment")
Ожидаемый результат [сом eExistingFile.txt]:
this is a comment
#11
Фактический выход [someExistingFile.txt]:
this is a comment
Кажется, что даже жесткая новая линия добавил был \n
search_file_replace_line
думает, как и как 1 линия !! Зачем?
Извините, может быть, это уже поздно, и я не думаю, что это ясно. Можете ли вы дать нам краткую выборку исходного файла, ожидаемого конечного состояния и конечного состояния, которое вы фактически получаете? Благодарю. –
Я добавил конечную точку и то, что я на самом деле получаю. – david