que tienen variables:¿Cómo se extrae la última parte de la cadena en bash?
A="Some variable has value abc.123"
necesito para extraer este valor es decir abc.123
. ¿Es esto posible en bash?
que tienen variables:¿Cómo se extrae la última parte de la cadena en bash?
A="Some variable has value abc.123"
necesito para extraer este valor es decir abc.123
. ¿Es esto posible en bash?
¿Cómo sabes dónde comienza el valor? Si siempre las palabras 5 y 6, se puede utilizar por ejemplo .:
B=$(echo $A | cut -d ' ' -f 5-)
Esto utiliza el comando cut
para rebanar a cabo parte de la línea utilizando un espacio simple como delimitador de la palabra.
Sí; esto:
A="Some variable has value abc.123"
echo "${A##* }"
imprimirá esto:
abc.123
(La notación ${parameter##word}
se explica en §3.5.3 "Shell Parameter Expansion" of the Bash Reference Manual.)
simple es
echo $A | awk '{print $NF}'
Algunos ejemplos usando la expansión de parámetro
A="Some variable has value abc.123"
echo "${A##* }"
abc.123
partido más largo en la "" espacio
echo "${A% *}"
Some variable has value
partido más largo en. dot
echo "${A%.*}"
Some variable has value abc
partido más corta en "" espacio
echo "${A%% *}"
some
Leer más Shell-Parameter-Expansion
esta es la mejor respuesta para la línea de comandos, me pregunto por qué no es más popular –