[Bash] Eliminar todo lo que sigue después de un espacio en una cadena
Resuelto
Gau36o
Mensajes publicados
14
Estado
Miembro
-
Gau36o Mensajes publicados 14 Estado Miembro -
Gau36o Mensajes publicados 14 Estado Miembro -
Hola,
Principiante en Bash, tengo una cadena almacenada en una variable.
Por ejemplo: miVar="esto 001 es un ejemplo 5600"
Para eliminar una ocurrencia estricta como esto (incluyendo el espacio tras la palabra esto) de la cadena anterior, sin problema, hago:
Después de este tratamiento, ahora me gustaría eliminar el espacio y todo lo que sigue a ese espacio, después del patrón 001.
Sabiendo que 001 es necesariamente un grupo de cifras pero de longitud variable (entre 2 y 6 caracteres).
He intentado haciendo:
Así como otros intentos, pero no consigo el resultado deseado....
Cualquier ayuda es bienvenida :-)
Gracias de antemano!
Configuración: Windows / Chrome 58.0.3029.110
Principiante en Bash, tengo una cadena almacenada en una variable.
Por ejemplo: miVar="esto 001 es un ejemplo 5600"
Para eliminar una ocurrencia estricta como esto (incluyendo el espacio tras la palabra esto) de la cadena anterior, sin problema, hago:
line1=${miVar#*esto } Después de este tratamiento, ahora me gustaría eliminar el espacio y todo lo que sigue a ese espacio, después del patrón 001.
Sabiendo que 001 es necesariamente un grupo de cifras pero de longitud variable (entre 2 y 6 caracteres).
He intentado haciendo:
line2=${line1#* } Así como otros intentos, pero no consigo el resultado deseado....
Cualquier ayuda es bienvenida :-)
Gracias de antemano!
Configuración: Windows / Chrome 58.0.3029.110
3 respuestas
-
hola
o con una tabla$ maVar="ceci 001 est un exemple 5600"
$ t=($maVar)
$ echo ${t[0]}
ceci
$ echo ${t[1]}
001 -
Problema resuelto al final...
Si acaso puede ayudar a alguien...line2=$(echo $line1 | cut -d " " -f 1)
Entonces el resultado truncado de la variable se guarda en $line2 -
Hola,
También se puede hacer esto:
$ maVar="ceci 001 est un exemple 5600"
$ echo "${maVar}"
ceci 001 est un exemple 5600
$ echo "${maVar#* }"
001 est un exemple 5600
$ echo "${maVar##* }"
5600
$ echo "${maVar% *}"
ceci 001 est un exemple
$ echo "${maVar%% *}"
ceci
--
_______________________________ ☯ Zen my nuggets ☮ ______________________________
Faites un gesto por el medioambiente, cierren sus ventanas y adopten un pingüino… 🐧