У меня есть текстовый файл с большим количеством строк и абзацев
Я хочу заменить строку строкой
Пример:
Старый текстовый файл
Sometexts
Новый текстовый файл
Sometexts
With Some Lines
Paragraphs
and Some Thing More
Как мне этого добиться?
Ваш вопрос не ясен. Я полагаю, вы хотите заменить
sometexts
с
Sometexts
With Some Lines
Paragraphs
and Some Thing More
Если это так, вы можете использовать Notepadd++
Итак, если вы хотите обновлять каждый раз, когда появляется слово sometexts , нажмите Control+F, чтобы открыть окно поиска. Выберите вкладку «Заменить».
В поле « Find what введите слово, которое вы хотите найти (sometexts), и в поле « Replace with добавьте новый текст. Чтобы добавить новые строки, добавьте \n для каждой новой строки.
Затем в режиме поиска выберите Extended

И я нажимаю Заменить все, он обновляется до:

Предполагая, что новый текст находится в файле с именем "newtext.txt":
sed '/Sometexts/ r newtext.txt' old.txt > new.txt
Только для второго случая sed не подойдет. awk идеально подходит:
$ cat old.txt
one
Sometexts
two
Sometexts
three
Sometexts
four
$ cat newtext.txt
With Some Lines
Paragraphs
and Some Thing More
$ awk '{print} /Sometexts/ && ++n==2 {while (getline < "newtext.txt") print}' old.txt
one
Sometexts
two
Sometexts
With Some Lines
Paragraphs
and Some Thing More
three
Sometexts
four