Linux/Unix Shell Scripting - eliminar espacios en blanco o un tipo de caracter

   
Vista:

eliminar espacios en blanco o un tipo de caracter

Publicado por maosa (1 intervención) el 04/06/2008 17:39:30
Buenas necesito eliminar espacios en blanco en unas cadenas de texto que se guargan en variables como puedo hacerlo??? estos espacios en blanco que tengo que eliminar son los que se encuentran a la derecha e izquierda de la cadena no debo eliminar espacios en blanco que se encuentren en medio de palabras contenidas en la cadena. Seria como un rtrim y ltrim en visualbasic script.

Agradezco la colaboracion que puedan brindarme
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:eliminar espacios en blanco o un tipo de caract

Publicado por Iván Garcerant (27 intervenciones) el 26/06/2008 09:12:07
solo rtrim y ltrim? normalmente yo hago algo ligeramente diferente que te quiero comentar ya que es más simple el código:

#!/bin/sh
V=" este es el string al que hay que comvertir "
#(noten los espacios al principio y al fin)
V=$(echo $V)
#esta asignación vía el comando echo quita los espacios de más
echo $V
#end.

Ahora que esto quita también los espacios múltiples del centro de la cadena. Para crear el efecto exacto que pides es necesario hacer más cosas:

#!/bin/sh
V=" a b c "

#rtrim equivalente
V=$(echo "$V" |sed 's/[ v]*$//')

#ltrim equivalente
V=$(echo "$V" |sed 's/^[ v]*//')

#mostrar
echo "$V"

#end.

Nota que cada vez que hice referencia a la variable le puse comillas al rededor. Esto es para evitar que los espacios de en medio se pierdan sin querer.... cosas del shell.

Cualquier cosa preguntad. Y claro, se agradece cualquier visita al blog ;-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar