пятница, 19 июля 2013 г.

Удаление шаблона с последующим переводом строки при помощи sed

Задача: необходимо удалить строку "$this->call($vars);" из php-файлов. Сделать это красиво, не оставляя лишних пробелов и переводов строки.

Было:

    ...
    public function someFunction()
    {
        $result = $this->doThings();

        $this->call($vars);

        return $result;
    }
    ...

Примеры решений:

Решение:

sed -i -e ':a; /\s\+$this->call($vars);$/ { N; N; s/\s\+$this->call($vars);\n\n//; ba; }' **/*.php

Стало:

    ...
    public function someFunction()
    {
        $result = $this->doThings();

        return $result;
    }
    ...

Комментариев нет: