У меня есть текстовый файл с большим количеством строк и абзацев

Я хочу заменить строку строкой

Пример:

Старый текстовый файл

Sometexts

Новый текстовый файл

Sometexts
With Some Lines
Paragraphs
and Some Thing More 

Как мне этого добиться?

2 ответа2

1

Ваш вопрос не ясен. Я полагаю, вы хотите заменить

sometexts

с

Sometexts
With Some Lines
Paragraphs
and Some Thing More 

Если это так, вы можете использовать Notepadd++

Итак, если вы хотите обновлять каждый раз, когда появляется слово sometexts , нажмите Control+F, чтобы открыть окно поиска. Выберите вкладку «Заменить».

В поле « Find what введите слово, которое вы хотите найти (sometexts), и в поле « Replace with добавьте новый текст. Чтобы добавить новые строки, добавьте \n для каждой новой строки.

Затем в режиме поиска выберите Extended

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

1

Предполагая, что новый текст находится в файле с именем "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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .