Добавьте регулярные выражения с помощью grep

Я должен использовать grep, чтобы найти 8 почтовых индексов из текстового файла, порядок символов каждого почтового индекса следующий: 1. Заглавная буква 2. Цифра 3. Заглавная буква 4. Пробел (необязательно) 5. Цифра 6 Прописная буква 7. Цифра

Я использовал команду grep:

grep '[A-Z][0-9][A-Z][0-9+[][0-9][A-Z][0-9]'

Это дало мне 5 почтовых индексов с пробелом в символе 4

У меня также есть использовал эту команду grep:

grep '[A-Z][0-9][A-Z][0-9\.][A-Z][0-9]'

Это дало мне последние 3 почтовых кода без пробела в символе 4.

Я не знаю, как написать команду, которая утверждает, что пробел может быть необязательным. Благодаря

2
задан 9 August 2019 в 15:23

3 ответа

ДО квантор ? нуль средств или случаи. Так

grep -E '[A-Z][0-9][A-Z] ?[0-9][A-Z][0-9]'

Если Вы хотите допускать нуль или больше пробелов, изменения ? кому: *. Для разрешения вкладок, а также пробелов можно использовать [ \t]?, [[:blank:]]?, или (в GNU grep) \s?

2
ответ дан 2 December 2019 в 03:27

Выражение как ниже должно работать:

grep '[A-Z][0-9][A-Z][ ]*[0-9][A-Z][0-9]' file
0
ответ дан 2 December 2019 в 03:27

Мое предложение:

grep -P "[A-Z][0-9][A-Z][0-9][ ]{0,1}[0-9][A-Z][0-9]" file
0
ответ дан 2 December 2019 в 03:27

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

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