Я должен использовать 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.
Я не знаю, как написать команду, которая утверждает, что пробел может быть необязательным. Благодаря
ДО квантор ?
нуль средств или случаи. Так
grep -E '[A-Z][0-9][A-Z] ?[0-9][A-Z][0-9]'
Если Вы хотите допускать нуль или больше пробелов, изменения ?
кому: *
. Для разрешения вкладок, а также пробелов можно использовать [ \t]?
, [[:blank:]]?
, или (в GNU grep) \s?
Выражение как ниже должно работать:
grep '[A-Z][0-9][A-Z][ ]*[0-9][A-Z][0-9]' file
Мое предложение:
grep -P "[A-Z][0-9][A-Z][0-9][ ]{0,1}[0-9][A-Z][0-9]" file