Замена строки в файле — sed

Возникла вполне себе тривиальная задача дописать в конец файл перевод.

Файл на php.

Казалось бы сделать вывод в этот файл.

Но файл заканчивается на «?>». Так что такое решение не подходит. Нужно сначала удалить

Решение достаточно простое :

sed -i 's/\(.*\)?>/\1 /' billing.php

После этого можно дописать в конец файла и закрыть тег «?>»
Пример такого кода :

echo "=== echo translation  ==="
sed -i 's/\(.*\)?>/\1 /' ./languages/russian/billing.php
echo '$lang'"['def']['right to show sc info for user']='Право на просмотр информации о скорости пользователя';" >> ./languages/russian/billing.php
echo '$lang'"['def']['right to view STGlog report']='Право на просмотр лог-файлов stargazer';" >> ./languages/russian/billing.php
echo '?>' >> ./languages/russian/billing.php

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Изображения должны быть включены!