Grep regex como

0

Oi eu tenho um arquivo com 5 dígitos zipcodes.

Estou tentando usar o grep para imprimir os códigos postais a partir de 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 obtendo códigos postais com os dígitos 1 2 3 8 Minha saída deve ser:

95544
94554
94445
95567

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

91121
92231 

Estou tentando excluir todos os números que não são 9 e estão no intervalo de 4-7

    
por Sumbhu Jain 30.09.2016 / 07:34

3 respostas

3

Dado este infile:

cat zipcodes 
95544 94554 94445 92231 95567 91121

Eu posso usar esse grep:

egrep -o '9[4-7]{4}' zipcodes 
95544
94554
94445
95567
    
por 30.09.2016 / 07:49
0

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

Ouput:

95544 
94554 
94445 
95567
    
por 30.09.2016 / 07:38
-1

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

  1. ^ O início da string sendo comparado
  2. (Período) corresponde a qualquer caractere
  3. asterisco, zero ou mais
por 02.10.2016 / 13:15