6
4039

Регулярные выражения

bara-igor
2017-10-06 08:38

Помогите мне, пожалуйста! Как с помощью регулярных выражений можно удалить строку заканчивающуюся на }

  • ilux
    2017-10-06 16:34 #

    perl -i.bak -ne '/}$/ && next; print' /tmp/test.txt

    удалит все такие строки в файле /tmp/test.txt

    про регулярные выражения можно почитать тут

    про флаги perl можно почитать тут

    или CTRL+Enter формат
    • bara-igorilux
      2017-10-08 16:37 #

      Спасибо! Ваш ввриант сработал. Подскажите, пожалуйста, только как убрать пустые строки - все варианты, которые я нахожу полностью стирают весь текст

      или CTRL+Enter формат
      • iluxbara-igor
        2017-10-08 17:05 #

        Смотря что считать пустой строкой - если только перевод коретки то:

        perl -i.bak -ne '/}$|^$/ && next; print' /tmp/test.txt

        если, например, строку с пробелами тоже - то:

        perl -i.bak -ne '/}$|^\s+$/ && next; print' /tmp/test.txt

        ну и если строки заканчивающиеся на } не удаляем - убираем из регулярного выражения }$|

        или CTRL+Enter формат
  • bara-igor
    2017-10-07 05:33 обн. 2017-10-07 06:20 #

    Я сделал, как предложили - на последнюю ' я получаю ошибку - invalid syntax Изменил на perl -i.bak -ne "/}$/ && next; print" C:\Users\1\ftext.txt Удаляет когда в конце , или ; но строчки на } не убирает

    или CTRL+Enter формат
Чтобы ответить, залогиньтесь или зарегистрируйтесь.
  • @user
  • _italic_

    italic

  • **bold**

    bold

  • [PP](http://pragmaticperl.com)

    PP

  • <http://pragmaticperl.com>

    http://pragmaticperl.com

  • module:Plack

    Plack

  • release:URI

    URI

  • author:VTI

    VTI

  • `my $foo = 'bar'`
  • ```
    my $multi;
    $line;
    ```