Hola tengo un archivo con códigos postales de 5 dígitos.
Estoy intentando usar grep para imprimir los códigos postales que comienzan con 9 y solo pueden contener dígitos entre 4 y 7.
El comando que estoy usando es
grep '[4-7], 9'$ zipcodesDataEntry.cvs
El problema es que obtengo códigos postales que tienen los dígitos 1 2 3 8. Mi salida debería ser:
95544
94554
94445
95567
Sin embargo, obtengo algunos códigos postales como:
91121
92231
Estoy intentando excluir cualquier número que no sea 9 y esté en el rango de 4 a 7.
Respuesta1
Dado este archivo:
cat zipcodes
95544 94554 94445 92231 95567 91121
Puedo usar este grep:
egrep -o '9[4-7]{4}' zipcodes
95544
94554
94445
95567
Respuesta2
Contenido del archivo de entrada:
95544
94554
94445
95567
91121
92231
Usando awk
(en caso de que egrep
no esté disponible), puedes probar algo como esto:
awk '/9[4-7]{4}/' zip.txt
Salida:
95544
94554
94445
95567
Respuesta3
grep '^9.[4-7].*' códigos postalesDataEntry.cvs
- ^ El comienzo de la cadena que se compara.
- . (Punto) coincide con cualquier carácter
- asterisco, cero o más