he tratado de extraer un número que figura a continuación, pero no se imprime nada en la pantalla:sed grupo de extracción de dígitos
echo "This is an example: 65 apples" | sed -n 's/.*\([0-9]*\) apples/\1/p'
Sin embargo, recibo el mensaje '65', si ambas cifras se comparan por separado, como se indica a continuación:
echo "This is an example: 65 apples" | sed -n 's/.*\([0-9][0-9]\) apples/\1/p'
65
¿Cómo se puede hacer coincidir un número tal que no sé el número de dígitos de un número a extraer por ejemplo, puede ser 2344 en lugar de 65?
+1, pero ten en cuenta que no todos -r apoyo sed y por lo tanto no puede utilizar los botones '+ 'modificador y debe escapar de los parens. –
¿Por qué una expresión regular como '[([0-9] *) apple]' (http://sprunge.us/feGV) no funciona en sed? Funciona bien en Python. –
así que ...^[^ 0-9] * corresponden a todo lo que no sea un dígito al comienzo de la línea. [0-9] + por lo menos un dígito o más, ¿verdad? – baltoro