У меня есть несколько строк, таких как:
[abc] yy abc yy
[abc] yy fff yy
abc yy ddd yy
И я хочу искать и получать только строки с выражением [abc] -между квадратными скобками, а не только с abc.
Спасибо.
Так как скобки имеют особое значение в синтаксисе регулярного выражения 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.
Если текст, который будет искаться, хранится в файле под названием ФАЙЛ, каталоги изменения с помощью cd
к каталогу, который содержит ФАЙЛ и выполняет эту команду:
grep \\[abc\\] < FILE
Эта команда имеет минималистский стиль, потому что это не требует никаких дополнительных символов кавычки и не имеет никакого бесполезного использования cat
.
cat
это использует единственную открывающую угловую скобку <
.