Bien pues esto es tan «sencillo» como jugar con las expansiones de BASH (más info en man bash), aquí va un ejemplo:
#!/bin/bash cadena=' prueba de trim ' #Los :: son para ver claramente los espacios echo "+ Cadena original ::${cadena}::" # quito los espacios del principio cadena="${cadena#"${cadena%%[![:space:]]*}"}" # quito los espacios del final cadena="${cadena%"${cadena##*[![:space:]]}"}" echo "+ Cadena sin espacios ::${cadena}::"
La salida de este script será
+ Cadena original :: prueba de trim :: + Cadena sin espacios ::prueba de trim::
Esto es sólo un ejemplo de cosas que se pueden hacer con BASH y que ha acelerado 10 veces un script (antes había sed y cut por todos lados), os recomiendo leeros detenidamente man bash. Tiene cosas muy divertidas, pero eso lo dejaremos para entradas futuras :-)
2 comentarios:
Interesante y útil aporte. Estaba buscando ejemplos sobre el tema y me encuentro con que aquí ya está resuelto. Gracias.
tenía un problema con una variable que se llenaba de espacios y me ha sido muy útil usar el tippara quitar espacios al final
ESSIDSUCIO=$(echo ${ESSID[${i}]})
ESSID="${ESSIDSUCIO%"${ESSIDSUCIO##*[![:space:]]}"}"
Esto si, no encontré la forma de hacerlo en una linea y he tenido que pasar por una variable intermedia porque el valor que quería tratar esta en un array.
Es gracias a blog como el tuyo que un novato principiante como yo aprende y no se queda bloqueado años en cosas del palo... gracias :)
Publicar un comentario