![替换字符串后的段落](https://linux22.com/image/1385752/%E6%9B%BF%E6%8D%A2%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%90%8E%E7%9A%84%E6%AE%B5%E8%90%BD.png)
我有一个包含很多行和段落的文本文件
我想用一行字符串替换一个字符串
例子:
旧文本文件
Sometexts
新建文本文件
Sometexts
With Some Lines
Paragraphs
and Some Thing More
我怎样才能实现它?
答案1
你的问题不清楚。我猜你想替换
sometexts
和
Sometexts
With Some Lines
Paragraphs
and Some Thing More
如果是这样,你可以使用Notepadd++
因此,假设您想在每次sometexts
出现该单词时进行更新,请按Control+F调出查找框。选择替换选项卡。
在Find what
框中输入要查找的单词(sometexts
),然后在Replace with
框中添加新文本。要添加新行,请\n
为每个新行添加。
然后,在搜索模式下,选择Extended
然后我单击“全部替换”,它更新为:
答案2
假设新文本位于名为“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