Как в txt файле оставить только 2 строчки после определенного слова выше?

Есть txt файл , вот его содержимое:

===============
f fgyuf
с Scryptics
s Nartelis19
rhvrihvieg445gv54vuv
===============
gk qwerty gfhfg
с h5vvh5vh5vh5
s bj65v54gc4g
gdfgdsggrsgdg433
===============
dgf ffrffef
c c4ccf4cf4cf4fc4
s Ugniukas1
v4gv4v5g4g4vg5v4
===============
gk qwerty kfefdf
c vg545v4gv45gv5g4v5g4
s jb6jb6jb6j
g4g4vv4gv4gvg4
===============
gtth vdvfv gtggg
c vg4vg45v45gvg4545vgv45g
s v454vgv545v4gvg45
v4gg4vvg4g4vvg4vg45vg45vg4545vg
===============
fvdver 443342
c cffx2sx2xs2xs2
s xe332xd23f4v5gh5b6
445vgv45gv45gv45gv45g45vg
===============

Вопрос: Как джаваскриптом оставить только 2 строчки которые идут после строчки, в которой есть "фраза": gk qwerty ?

Вот таки по 2 строчки нужно оставлять

И эти две строчки поставить через двоеточие?

Должно остаться в txt файле вот так:

с h5vvh5vh5vh5:s bj65v54gc4g
c vg545v4gv45gv5g4v5g4:s jb6jb6jb6j

Ответы (2 шт):

Автор решения: DiD

let text = `===============
f fgyuf
с Scryptics
s Nartelis19
rhvrihvieg445gv54vuv
===============
gk qwerty gfhfg
с h5vvh5vh5vh5
s bj65v54gc4g
gdfgdsggrsgdg433
===============
dgf ffrffef
c c4ccf4cf4cf4fc4
s Ugniukas1
v4gv4v5g4g4vg5v4
===============
gk qwerty kfefdf
c vg545v4gv45gv5g4v5g4
s jb6jb6jb6j
g4g4vv4gv4gvg4
===============
gtth vdvfv gtggg
c vg4vg45v45gvg4545vgv45g
s v454vgv545v4gvg45
v4gg4vvg4g4vvg4vg45vg45vg4545vg
===============
fvdver 443342
c cffx2sx2xs2xs2
s xe332xd23f4v5gh5b6
445vgv45gv45gv45gv45g45vg
===============`;
let strings = text.split('\n');
let res = [];
for (let i = 0, l = strings.length; i < l; i++) {
  if (strings[i].indexOf('gk qwerty') > -1) {
    res.push(strings[i + 1] + ':' + strings[i + 2]);
    i += 2;
  }
}
console.log(res.join('\n'));

→ Ссылка
Автор решения: Deonis

Как вариант, можно попробовать с помощью регулярки. Хотя, это далеко не всегда самый надёжный способ. Но меня больше волнует, учли ли вы такие ситуации, когда искомая подстрока будет располагаться, например, перед "разделительной" строкой ===============

let text = `===============
f fgyuf
с Scryptics
s Nartelis19
rhvrihvieg445gv54vuv
===============
gk qwerty gfhfg
с h5vvh5vh5vh5
s bj65v54gc4g
gdfgdsggrsgdg433
===============
dgf ffrffef
c c4ccf4cf4cf4fc4
s Ugniukas1
v4gv4v5g4g4vg5v4
===============
gk qwerty kfefdf
c vg545v4gv45gv5g4v5g4
s jb6jb6jb6j
g4g4vv4gv4gvg4
===============
gtth vdvfv gtggg
c vg4vg45v45gvg4545vgv45g
s v454vgv545v4gvg45
v4gg4vvg4g4vvg4vg45vg45vg4545vg
===============
fvdver 443342
c cffx2sx2xs2xs2
s xe332xd23f4v5gh5b6
445vgv45gv45gv45gv45g45vg
===============`;

const res = text.match(/(?<=gk qwerty[^\n]*\n)([^\n]+\n){2}/gm).map(s => s.replace(/\n/, ':')).join``;
console.log(res);

→ Ссылка