Com awk
(instalado por padrão nos sistemas POSIX, incluindo o Ubuntu):
POSIXLY_CORRECT=1 awk -v X=2 '
NR >= 2 && /^output-[0-9]{3}\.ts$/ && ++n % X == 1 {
print "#Inserted line", i++
}
NR>1 {print last}
{last = $0}
END{if (NR) print last}' < file.in > file.out
Isso é para 2 linhas acima. Para generalizar para N linhas acima:
POSIXLY_CORRECT=1 awk -v N=2 -v X=2 '
BEGIN{N--}
NR > N {
if (/^output-[0-9]{3}\.ts$/ && ++n % X == 1)
print "#Inserted line", i++
print l[NR % N]
}
{l[NR % N] = $0}
END{
for (i = NR > N ? NR - N + 1 : 1; i <= NR; i++) print l[i % N]
}'