Это очень просто. Вам не нужны разделители как таковые, простое регулярное выражение будет делать. Просто ищите открытие [
, за которым следует как можно более ]
или [
символов как можно до конца строки. Например:
Perl
Если вы знаете, что нет [[[
или других странных вещей:
Perl -pe 'S /\[.5? ]]// g' файл
Если вы можете иметь странные вещи:
Perl -pe 'S / \ [[^ \ \ \ \]] * \] // g' файл
SED
SED 'S / \ [[^]] * \] // g' файл
Один котировки не нужно избежать, когда они есть внутри двойных кавычек:
grep "mobNo='[^']*'" file
также, GREP
использует регулярные выражения, а не шаблоны оболочки (глобусы). В оболочке *
совпадает с нулем или более любого персонажа вообще. Однако в Regex *
соответствует нулю или более предыдущему характеру. Здесь мы используем [^ '] *
, что означает нулю больше любого символа, который не является ни одной цитатой.