|
Lucio Andrés Illanes Albornoz |
2b85d0 |
#
|
|
Lucio Andrés Illanes Albornoz |
e1d469 |
# set +o errexit -o noglob -o nounset is assumed.
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
#
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
|
|
Lucio Andrés Illanes Albornoz |
c6d6e0 |
rtl_isnumber() {
|
|
Lucio Andrés Illanes Albornoz |
c6d6e0 |
local _s="${1}" _rc=0;
|
|
Lucio Andrés Illanes Albornoz |
c6d6e0 |
while [ -n "${_s}" ]; do
|
|
Lucio Andrés Illanes Albornoz |
c6d6e0 |
case "${_s}" in
|
|
Lucio Andrés Illanes Albornoz |
c6d6e0 |
[0-9]*) _s="${_s#[0-9]}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
c6d6e0 |
*) _rc=1; break; ;;
|
|
Lucio Andrés Illanes Albornoz |
c6d6e0 |
esac; done;
|
|
Lucio Andrés Illanes Albornoz |
c6d6e0 |
return "${_rc}";
|
|
Lucio Andrés Illanes Albornoz |
c6d6e0 |
};
|
|
Lucio Andrés Illanes Albornoz |
c6d6e0 |
|
|
Lucio Andrés Illanes Albornoz |
0d1c4f |
rtl_match() {
|
|
Lucio Andrés Illanes Albornoz |
0d1c4f |
local _s="${1}" _find="${2}";
|
|
Lucio Andrés Illanes Albornoz |
0d1c4f |
if [ "${_s#${_find}}" != "${_s}" ]; then
|
|
Lucio Andrés Illanes Albornoz |
0d1c4f |
return 0;
|
|
Lucio Andrés Illanes Albornoz |
0d1c4f |
else
|
|
Lucio Andrés Illanes Albornoz |
0d1c4f |
return 1;
|
|
Lucio Andrés Illanes Albornoz |
0d1c4f |
fi;
|
|
Lucio Andrés Illanes Albornoz |
0d1c4f |
};
|
|
Lucio Andrés Illanes Albornoz |
0d1c4f |
|
|
Lucio Andrés Illanes Albornoz |
b6a9a1 |
rtl_matchr() {
|
|
Lucio Andrés Illanes Albornoz |
b6a9a1 |
local _s="${1}" _find="${2}";
|
|
Lucio Andrés Illanes Albornoz |
b6a9a1 |
if [ "${_s%${_find}}" != "${_s}" ]; then
|
|
Lucio Andrés Illanes Albornoz |
b6a9a1 |
return 0;
|
|
Lucio Andrés Illanes Albornoz |
b6a9a1 |
else
|
|
Lucio Andrés Illanes Albornoz |
b6a9a1 |
return 1;
|
|
Lucio Andrés Illanes Albornoz |
b6a9a1 |
fi;
|
|
Lucio Andrés Illanes Albornoz |
b6a9a1 |
};
|
|
Lucio Andrés Illanes Albornoz |
b6a9a1 |
|
|
Lucio Andrés Illanes Albornoz |
8a27f9 |
rtl_subst() {
|
|
Lucio Andrés Illanes Albornoz |
8a27f9 |
local _s="${1}" _find="${2}" _replace="${3}" _prefix="" _s_new="";
|
|
Lucio Andrés Illanes Albornoz |
8a27f9 |
while [ -n "${_s}" ]; do
|
|
Lucio Andrés Illanes Albornoz |
8a27f9 |
case "${_s}" in
|
|
Lucio Andrés Illanes Albornoz |
8a27f9 |
*${_find}*) _prefix="${_s%%${_find}*}"; _s="${_s#*${_find}}";
|
|
Lucio Andrés Illanes Albornoz |
8a27f9 |
_s_new="${_s_new:+${_s_new}}${_prefix}${_replace}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
8a27f9 |
*) _s_new="${_s_new:+${_s_new}}${_s}"; _s=""; ;;
|
|
Lucio Andrés Illanes Albornoz |
8a27f9 |
esac; done;
|
|
Lucio Andrés Illanes Albornoz |
b6a9a1 |
printf "%s" "${_s_new}";
|
|
Lucio Andrés Illanes Albornoz |
8a27f9 |
};
|
|
Lucio Andrés Illanes Albornoz |
8a27f9 |
|
|
Lucio Andrés Illanes Albornoz |
c6d6e0 |
rtl_tolower() {
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
local _s="${1}" _s_new="";
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
while [ -n "${_s}" ]; do
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
case "${_s}" in
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
A*) _s_new="${_s_new:+${_s_new}}a"; _s="${_s#A}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
B*) _s_new="${_s_new:+${_s_new}}b"; _s="${_s#B}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
C*) _s_new="${_s_new:+${_s_new}}c"; _s="${_s#C}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
D*) _s_new="${_s_new:+${_s_new}}d"; _s="${_s#D}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
E*) _s_new="${_s_new:+${_s_new}}e"; _s="${_s#E}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
F*) _s_new="${_s_new:+${_s_new}}f"; _s="${_s#F}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
G*) _s_new="${_s_new:+${_s_new}}g"; _s="${_s#G}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
H*) _s_new="${_s_new:+${_s_new}}h"; _s="${_s#H}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
I*) _s_new="${_s_new:+${_s_new}}i"; _s="${_s#I}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
J*) _s_new="${_s_new:+${_s_new}}j"; _s="${_s#J}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
K*) _s_new="${_s_new:+${_s_new}}k"; _s="${_s#K}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
L*) _s_new="${_s_new:+${_s_new}}l"; _s="${_s#L}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
M*) _s_new="${_s_new:+${_s_new}}m"; _s="${_s#M}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
N*) _s_new="${_s_new:+${_s_new}}n"; _s="${_s#N}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
O*) _s_new="${_s_new:+${_s_new}}o"; _s="${_s#O}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
P*) _s_new="${_s_new:+${_s_new}}p"; _s="${_s#P}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
Q*) _s_new="${_s_new:+${_s_new}}q"; _s="${_s#Q}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
R*) _s_new="${_s_new:+${_s_new}}r"; _s="${_s#R}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
S*) _s_new="${_s_new:+${_s_new}}s"; _s="${_s#S}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
T*) _s_new="${_s_new:+${_s_new}}t"; _s="${_s#T}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
U*) _s_new="${_s_new:+${_s_new}}u"; _s="${_s#U}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
V*) _s_new="${_s_new:+${_s_new}}v"; _s="${_s#V}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
W*) _s_new="${_s_new:+${_s_new}}w"; _s="${_s#W}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
X*) _s_new="${_s_new:+${_s_new}}x"; _s="${_s#X}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
Y*) _s_new="${_s_new:+${_s_new}}y"; _s="${_s#Y}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
Z*) _s_new="${_s_new:+${_s_new}}z"; _s="${_s#Z}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
245c93 |
[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]*)
|
|
Lucio Andrés Illanes Albornoz |
245c93 |
_s_new="${_s_new:+${_s_new}}${_s%%[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*}";
|
|
Lucio Andrés Illanes Albornoz |
245c93 |
while [ "${_s#[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]}" != "${_s}" ]; do
|
|
Lucio Andrés Illanes Albornoz |
245c93 |
_s="${_s#[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]}";
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
done; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
esac; done;
|
|
Lucio Andrés Illanes Albornoz |
b6a9a1 |
printf "%s" "${_s_new}";
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
};
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
|
|
Lucio Andrés Illanes Albornoz |
c6d6e0 |
rtl_toupper() {
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
local _s="${1}" _s_new="";
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
while [ -n "${_s}" ]; do
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
case "${_s}" in
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
a*) _s_new="${_s_new:+${_s_new}}A"; _s="${_s#a}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
b*) _s_new="${_s_new:+${_s_new}}B"; _s="${_s#b}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
c*) _s_new="${_s_new:+${_s_new}}C"; _s="${_s#c}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
d*) _s_new="${_s_new:+${_s_new}}D"; _s="${_s#d}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
e*) _s_new="${_s_new:+${_s_new}}E"; _s="${_s#e}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
f*) _s_new="${_s_new:+${_s_new}}F"; _s="${_s#f}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
g*) _s_new="${_s_new:+${_s_new}}G"; _s="${_s#g}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
h*) _s_new="${_s_new:+${_s_new}}H"; _s="${_s#h}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
i*) _s_new="${_s_new:+${_s_new}}I"; _s="${_s#i}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
j*) _s_new="${_s_new:+${_s_new}}J"; _s="${_s#j}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
k*) _s_new="${_s_new:+${_s_new}}K"; _s="${_s#k}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
l*) _s_new="${_s_new:+${_s_new}}L"; _s="${_s#l}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
m*) _s_new="${_s_new:+${_s_new}}M"; _s="${_s#m}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
n*) _s_new="${_s_new:+${_s_new}}N"; _s="${_s#n}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
o*) _s_new="${_s_new:+${_s_new}}O"; _s="${_s#o}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
p*) _s_new="${_s_new:+${_s_new}}P"; _s="${_s#p}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
q*) _s_new="${_s_new:+${_s_new}}Q"; _s="${_s#q}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
r*) _s_new="${_s_new:+${_s_new}}R"; _s="${_s#r}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
s*) _s_new="${_s_new:+${_s_new}}S"; _s="${_s#s}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
t*) _s_new="${_s_new:+${_s_new}}T"; _s="${_s#t}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
u*) _s_new="${_s_new:+${_s_new}}U"; _s="${_s#u}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
v*) _s_new="${_s_new:+${_s_new}}V"; _s="${_s#v}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
w*) _s_new="${_s_new:+${_s_new}}W"; _s="${_s#w}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
x*) _s_new="${_s_new:+${_s_new}}X"; _s="${_s#x}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
y*) _s_new="${_s_new:+${_s_new}}Y"; _s="${_s#y}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
z*) _s_new="${_s_new:+${_s_new}}Z"; _s="${_s#z}"; ;;
|
|
Lucio Andrés Illanes Albornoz |
245c93 |
[^abcdefghijklmnopqrstuvwxyz]*)
|
|
Lucio Andrés Illanes Albornoz |
245c93 |
_s_new="${_s_new:+${_s_new}}${_s%%[abcdefghijklmnopqrstuvwxyz]*}";
|
|
Lucio Andrés Illanes Albornoz |
245c93 |
while [ "${_s#[^abcdefghijklmnopqrstuvwxyz]}" != "${_s}" ]; do
|
|
Lucio Andrés Illanes Albornoz |
245c93 |
_s="${_s#[^abcdefghijklmnopqrstuvwxyz]}";
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
done; ;;
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
esac; done;
|
|
Lucio Andrés Illanes Albornoz |
b6a9a1 |
printf "%s" "${_s_new}";
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
};
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
|
|
Lucio Andrés Illanes Albornoz |
2b85d0 |
# vim:filetype=sh
|