Tente:
sed '/Line1/{N; /\nString$/b; s/\n/\nString\n/}' file
Limitação: Se duas linhas com Line1 aparecerem em uma linha, isso pode ou não fazer o que você deseja.
Exemplo
Vamos considerar este arquivo de teste:
$ cat file
Line1
String
Line2
String
Line3
Line1
Line2
E, vamos aplicar nosso comando:
$ sed '/Line1/{N; /\nString$/b; s/\n/\nString\n/}' file
Line1
String
Line2
String
Line3
Line1
String
Line2
Como funciona
-
Line1/{...}Isso só executa os comandos em chaves se a linha atual corresponder à regex
Line1. -
NIsso lê a próxima linha e a anexa à linha atual com as duas linhas separadas por uma nova linha.
-
/\nString$/bSe a segunda linha corresponder à regex
\nString$, pule o restante dos comandos ("branch",b). -
s/\n/\nString\n/Isso substitui a nova linha que separa a primeira e a segunda linhas por nova linha, seguidas por
Stringseguido por outra nova linha.