Вы правильно поняли часть P;D
. Остальное - неудачная попытка вытягивания строк в пространстве шаблонов до тех пор, пока замена не будет успешной, что не обязательно плохо, но определенно не скользящее окно.
Вы должны вытягивать одну строку, находясь на первой строке, затем использовать циклN;P;D
(таким образом у вас всегда будет три строки в пространстве шаблона) и пытаться заменить каждый раз, когда вы втягиваете новая строка
sed '1N;$!N;s/\(PATTERN\n\)\(\n\)$/\1###\2/;P;D' infile
Была такая же проблема на volumio. Решено удалением .alsaequal.bin
из/var/lib/mpd/