es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cortar cadena de números en una letra en bash.

Tengo una cadena como plantford1775.274.284b63.11.

He estado utilizando identity=$( echo "$identity" | cut -d'.' -f3) para separar en cada punto, y luego elegir la tercera sección. Me queda con 284b63.

El formato de esta parte siempre es una letra, intercalada con una cantidad variable de números. Me gustaría tomar los primeros números antes de la letra. Una línea de código de ejemplo sería esta:

identity=$( echo "$identity" | cut -d'anyletra' -f1)

¿Qué debo reemplazar en anyletra para separar en la letra que se indique allí, de modo que obtenga una cadena de 284?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Puedes utilizar expresiones regulares con el comando sed en Bash para lograr esto. Aquí tienes una línea de código de ejemplo que debería funcionar:

    identity=$( echo "$identity" | sed 's/[a-zA-Z].*//' )
    

    Esto reemplazará todo lo que comienza desde la primera letra con una cadena vacía, eliminando efectivamente la letra y cualquier carácter posterior a ella. El resultado será 284.

Comments are closed.