Grep regex como fazer

Grep regex como fazer

Olá, tenho um arquivo com CEPs de 5 dígitos.

Estou tentando usar o grep para imprimir os CEPs começando em 9 e só pode conter dígitos entre 4-7

O comando que estou usando é

grep '[4-7], 9'$ zipcodesDataEntry.cvs

O problema é que estou recebendo códigos postais com os dígitos 1 2 3 8. Minha saída deve ser:

95544
94554
94445
95567

No entanto, estou recebendo alguns códigos postais, como:

91121
92231 

Estou tentando excluir quaisquer números que não sejam 9 e estejam no intervalo de 4 a 7

Responder1

Dado este arquivo:

cat zipcodes 
95544 94554 94445 92231 95567 91121

Eu posso usar este grep:

egrep -o '9[4-7]{4}' zipcodes 
95544
94554
94445
95567

Responder2

Conteúdo do arquivo de entrada:

95544 
94554 
94445 
95567
91121 
92231

Usando awk(caso egrepnão esteja disponível), você pode tentar algo assim:

awk '/9[4-7]{4}/' zip.txt

Saída:

95544 
94554 
94445 
95567

Responder3

grep '^9.[4-7].*' zipcodesDataEntry.cvs

  1. ^ O início da string que está sendo comparada
  2. . (ponto final) corresponde a qualquer caractere
  3. asterisco, zero ou mais

informação relacionada