linux поисковое выражение в [abc]

У меня есть несколько строк, таких как:

[abc] yy abc yy

[abc] yy fff yy

abc yy ddd yy

И я хочу искать и получать только строки с выражением [abc] -между квадратными скобками, а не только с abc.

Спасибо.

0
задан 11 May 2017 в 06:29

3 ответа

Так как скобки имеют особое значение в синтаксисе регулярного выражения grep, Вы или должны выйти из них

grep '\[abc\]' file

или указать, что простое сопоставление строк с помощью -F или --fixed-strings

grep -F '[abc]' file

Видит man grep

-F, --fixed-strings
       Interpret PATTERN as a list of fixed strings (instead of regular
       expressions), separated by newlines,  any  of  which  is  to  be
       matched.
1
ответ дан 3 November 2019 в 06:39

Если текст, который будет искаться, хранится в файле под названием ФАЙЛ, каталоги изменения с помощью cd к каталогу, который содержит ФАЙЛ и выполняет эту команду:

grep \\[abc\\] < FILE

Эта команда имеет минималистский стиль, потому что это не требует никаких дополнительных символов кавычки и не имеет никакого бесполезного использования cat.

  • Вместо cat это использует единственную открывающую угловую скобку <.
  • Вместо того, чтобы использовать символы кавычки, левых и правых квадратных скобок оба оставляют, чтобы интерпретироваться буквально как символы квадратной скобки.
0
ответ дан 3 November 2019 в 06:39

используйте grep:

grep '\[abc\]' filename
0
ответ дан 3 November 2019 в 06:39

Другие вопросы по тегам:

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