Я пытаюсь заменить две последовательные строки в файле своим текстом. Например:
testfile.rbsed - заменить несколько последовательных строк, соответствующих шаблону
class Test
def procedure
nil
end
end
Я пытаюсь добиться этого:
testfile.rb
class Test
def procedure
nil
finish
finish
Так что мне нужно заменить последние 2 линии, но это Безразлично» т:
sed -i 's/^\s\send\nend/ finish\nfinish/' testfile.rb
Я понимаю, что он терпит неудачу, потому что замена выполняется по строкам. Но как я могу это сделать?
Понял. Большое спасибо! Ваше последнее изменение короче, но труднее читать для меня. Но и менее гибкая. Может быть, оставить оба варианта? – leemour
'sed -i '/ end $/{N; s/end \ nend/finish \ nfinish /} 'testfile.rb' работает лучше для меня – leemour