Я думаю что это близко к вашей первоначальной попытке реализации:
sed ':a; $q; N; s/\(Fax:.*\n\)\n$/\1###\n/; 3,${P;D}; ba'
Упр.
$ sed ':a; $q; N; s/\(Fax:.*\n\)\n$/\1###\n/; 3,${P;D}; ba' input > output
$ diff -y input output
Fax: 05.11.22.33.44 Fax: 05.11.22.33.44
Fax: 05.11.22.33.44 Fax: 05.11.22.33.44
Fax: 05.11.22.33.44 Fax: 05.11.22.33.44
| ###
Fax: 05.11.22.33.44 Fax: 05.11.22.33.44
Fax: 05.11.22.33.44 Fax: 05.11.22.33.44
| ###
Fax: 05.11.22.33.44 Fax: 05.11.22.33.44
Хитрость заключается в 3,${P;D}
, это то, что поддерживает 3-строчное окно (выталкивая одну строку из пространства шаблона каждый раз вокруг цикла, но только после строки количество достигает 3).
Пути PHP действуют так же, как пути unix. (Команда cd )
Здесь вы используете относительные пути.
.. для перехода вверх по папке.
. , чтобы остаться в текущей папке.
~ должна быть домашней папкой.
Вначале ничто не просматривает корневую папку, в вашем случае это путь к серверу, который вы определили в конфигурации сервера.
Некоторые примеры:
src = "../ images / foo.png"
src = "./ images / foo.png"
src = "~ / images / foo.png"
src = "../../../ images / foo.png"
В противном случае вы можете попробовать использовать абсолютные пути.