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 egrep
nã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
- ^ O início da string que está sendo comparada
- . (ponto final) corresponde a qualquer caractere
- asterisco, zero ou mais