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