соответствуйте строке специальному символьному и точному совпадению с помощью grep

Это очень просто. Вам не нужны разделители как таковые, простое регулярное выражение будет делать. Просто ищите открытие [, за которым следует как можно более ] или [ символов как можно до конца строки. Например:

  1. Perl

    Если вы знаете, что нет [[[ или других странных вещей:

     Perl -pe 'S /\[.5? ]]// g' файл
     

    Если вы можете иметь странные вещи:

     Perl -pe 'S / \ [[^ \ \ \ \]] * \] // g' файл
     
  2. SED

     SED 'S / \ [[^]] * \] // g' файл
     
0
23.04.2015, 14:28
1 ответ

Один котировки не нужно избежать, когда они есть внутри двойных кавычек:

grep "mobNo='[^']*'" file

также, GREP использует регулярные выражения, а не шаблоны оболочки (глобусы). В оболочке * совпадает с нулем или более любого персонажа вообще. Однако в Regex * соответствует нулю или более предыдущему характеру. Здесь мы используем [^ '] * , что означает нулю больше любого символа, который не является ни одной цитатой.

1
28.01.2020, 02:51

Теги

Похожие вопросы