Extraer la subcadena en Bash
Dado un nombre de archivo de la forma algunas letras_12345_moreleters.ext
, quiero extraer los 5 dígitos y ponerlos en una variable.
Así que para enfatizar el punto, tengo un nombre de archivo con x número de caracteres y luego una secuencia de cinco dígitos rodeados por un solo guión bajo a cada lado y luego otro conjunto de x número de caracteres. Quiero tomar el número de 5 dígitos y ponerlo en una variable.
Estoy muy interesado en el número de maneras diferentes que esto se puede lograr.
680
3
Usa cortar:
Más genérico:
Solución genérica en la que el número puede estar en cualquier parte del nombre del archivo, utilizando la primera de dichas secuencias:
Otra solución para extraer exactamente una parte de una variable:
Si su nombre de archivo siempre tiene el formato
stuff_digits_...
puede utilizar awk:Otra solución para eliminar todo excepto los dígitos, es utilizar
También existe el comando incorporado de bash 'expr':