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

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

[abc] yy abc yy

[abc] yy abc yy

abc yy ddd yy

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

Спасибо.

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

9 ответов

Поскольку скобки имеют особое значение в синтаксисе регулярных выражений 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
ответ дан 22 May 2018 в 22:43

Поскольку скобки имеют особое значение в синтаксисе регулярных выражений 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
ответ дан 18 July 2018 в 13:29

Поскольку скобки имеют особое значение в синтаксисе регулярных выражений 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
ответ дан 24 July 2018 в 20:11

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

grep \\[abc\\] < FILE

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

Вместо cat он использует одну левую угловую скобку <. Вместо использования символов кавычек левая и правая квадратные скобки обе экранированы, чтобы быть интерпретированными буквально в виде квадратных скобок.
0
ответ дан 22 May 2018 в 22:43

использовать grep:

grep '\[abc\]' filename
0
ответ дан 22 May 2018 в 22:43
  • 1
    Google «Бесполезное использование кошки». [F1] – waltinator 11 May 2017 в 17:03

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

grep \\[abc\\] < FILE

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

Вместо cat он использует одну левую угловую скобку <. Вместо использования символов кавычек левая и правая квадратные скобки обе экранированы, чтобы быть интерпретированными буквально в виде квадратных скобок.
0
ответ дан 18 July 2018 в 13:29

использовать grep:

grep '\[abc\]' filename
0
ответ дан 18 July 2018 в 13:29

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

grep \\[abc\\] < FILE

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

Вместо cat он использует одну левую угловую скобку <. Вместо использования символов кавычек левая и правая квадратные скобки обе экранированы, чтобы быть интерпретированными буквально в виде квадратных скобок.
0
ответ дан 24 July 2018 в 20:11

использовать grep:

grep '\[abc\]' filename
0
ответ дан 24 July 2018 в 20:11
  • 1
    Google «Бесполезное использование кошки». [F1] – waltinator 11 May 2017 в 17:03

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

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