Substituir um parágrafo após uma string

0

Eu tenho um arquivo de texto com muitas linhas e parágrafos

Eu quero substituir uma string por uma linha de string

Exemplo:

Arquivo de texto antigo

Sometexts

Novo arquivo de texto

Sometexts
With Some Lines
Paragraphs
and Some Thing More 

Como posso alcançá-lo?

    
por The KingMaker 12.11.2013 / 11:44

2 respostas

1

Sua pergunta não está clara. Eu suponho que você quer substituir

sometexts

com

Sometexts
With Some Lines
Paragraphs
and Some Thing More 

Se sim, você pode usar Notepadd++

Portanto, supondo que você queira atualizar toda vez que a palavra sometexts aparecer, pressione Controlar + F para abrir a caixa de busca. Selecione a guia Substituir.

Na caixa Find what , digite a palavra que você deseja encontrar ( sometexts ) e na caixa Replace with , adicione o novo texto. Para adicionar novas linhas, adicione \n para cada nova linha.

Em seguida, no modo de pesquisa, selecione Extended

EclicoemSubstituirtudo,atualizapara:

    
por 12.11.2013 / 12:17
1

Supondo que o novo texto está em um arquivo chamado "newtext.txt":

sed '/Sometexts/ r newtext.txt' old.txt > new.txt

Apenas para a segunda ocorrência, o sed não serve. O awk é perfeitamente adequado:

$ 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
    
por 12.11.2013 / 12:24