Estuve haciendo y buscando algunas funciones típicas como substr(), trim(), rtrim(), ltrim(), en la bash shell de linux y he decidido compartirlas con la comunidad.
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Descripción:
# Hace un substring de una cadena
# Parámetros de entrada:
# valor: texto a recortar
# posición: posición donde empezar (primero=0)
# longitud: numero de caracteres desde posición
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
function SUBSTR
{
Parm1=$1
Parm2=$2
Parm3=$3
echo "${Parm1:Parm2:Parm3}"
}
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Descripción:
# TRIM: Recorta espacios por ambos lados
# RTIRM: Recorta espacios por la derecha
# LTIRM: Recorta espacios por la izquierda
# Parámetros de entrada:
# valor: texto
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
function TRIM
{
Parm1="$1"
Parm1=$(LTRIM "$Parm1")
Parm1=$(RTRIM "$Parm1")
echo "$Parm1"
}
function RTRIM
{
Parm1="$1"
conta=${#Parm1}
(( conta -= 1 ))
while [[ $conta -gt -1 ]];do
Caracter=${Parm1:conta:1}
if [[ ! $Caracter == ' ' ]]
then
(( conta += 1 ))
break
fi
(( conta -= 1 ))
done
echo "${Parm1:0:conta}"
}
function LTRIM
{
Parm1="$1"
conta=0
while [[ $conta -lt ${#Parm1} ]];do
Caracter=${Parm1:conta:1}
if [[ ! $Caracter == ' ' ]]
then
break
fi
(( conta += 1 ))
done
echo "${Parm1:conta}"
}
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Descripción:
# Longitud del valor pasado
# Parámetros de entrada:
# valor: texto
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
function LENGTH
{
Parm1="$1"
echo ${#Parm1}
}