Aquí está el comando:
grep '(2)[[:digit:]]{1}' numbers
Lo que quiero es hacer coincidir exactamente 2 dígitos después del dígito '2', 3 dígitos si cambio el dígito '2' a '3' en mi expresión, 4 dígitos si...
Estoy usando referencias inversas aquí, pero cuando ejecuto este comando tengo el siguiente resultado:
grep: invalid content of {}
¿Cómo se podría cambiar mi expresión?
primera solución:
Como respondió Serge:
2[[:digit:]]{1}|3[[:digit:]]{2}|4[[:digit:]]{3}|5[[:digit:]]{4}
Eso podría funcionar, pero supongamos que tengo (34)
como la primera subexpresión, desearía poder hacer una referencia inversa a ese número para no tener que implementar los 34 casos (o más).
Respuesta aceptada:
Las referencias anteriores no están permitidas aquí. Tienes que escribir la expresión que describirá todos los casos posibles, por ejemplo:
2[[:digit:]]{1}|3[[:digit:]]{2}|4[[:digit:]]{3}|5[[:digit:]]{4}