У мене є кілька файлів, які я хочу оновити, замінивши один багаторядковий рядок на інший багаторядковий рядок. Щось у напрямку:
* Some text,
* something else
* another thing
І я хочу замінити його на:
* This is completely
* different text
Результатом було б те, що після заміни файл, що містить перший блок тексту, тепер буде містити другий рядок (решта файлу залишається незмінною).
Частина проблеми полягає в тому, що я повинен знайти список файлів, які потрібно оновити у файловій системі. Я думаю, що я можу використати grep для цього (хоча це знову не так просто зробити з багаторядковими рядками), а потім передати його в sed, можливо?
Чи є простий спосіб це зробити? Sed - це варіант, але це незручно, тому що я повинен додати \ n і т. Д. Чи є спосіб сказати "взяти вхід з цього файлу, зіставити його в цих файлах, а потім замінити його вмістом цього іншого файлу"? Я можу використовувати python за потреби, але я хочу щось швидке і просте, тому, якщо є утиліта, я скоріше скористаюся цим, ніж напишу свій власний сценарій (який я знаю, як зробити).
some text, something else another thing
чи охоплює він чи кілька ліній? Або ви хочете лише відповідати some text,\nsomething else\nanotherthing
?