Commit a6e078ae authored by Vitaly Lipatov's avatar Vitaly Lipatov

tools_estrlist: update to 0.5

parent c04486cd
......@@ -63,19 +63,25 @@ has_space()
list()
{
local i
set -f
for i in $@ ; do
echo "$i"
done
set +f
}
count()
{
list $@ | wc -l
set -f
list $@ | wc -l
set +f
}
union()
{
strip_spaces $(list $@ | sort -u)
set -f
strip_spaces $(list $@ | sort -u)
set +f
}
intersection()
......@@ -107,7 +113,7 @@ match()
{
local wd="$1"
shift
echo "$*" | egrep -q -- "$wd"
echo "$*" | grep -E -q -- "$wd"
}
......@@ -116,9 +122,11 @@ reg_remove()
{
local i
local RES=
set -f
for i in $2 ; do
echo "$i" | grep -q "^$1$" || RES="$RES $i"
done
set +f
strip_spaces "$RES"
}
......@@ -127,9 +135,11 @@ reg_wordremove()
{
local i
local RES=""
set -f
for i in $2 ; do
echo "$i" | grep -q -w "$1" || RES="$RES $i"
done
set +f
strip_spaces "$RES"
}
......@@ -150,9 +160,11 @@ exclude()
{
local i
local RES="$2"
set -f
for i in $1 ; do
RES="$(reg_rqremove "$i" "$RES")"
done
set +f
strip_spaces "$RES"
}
......@@ -161,9 +173,11 @@ reg_exclude()
{
local i
local RES="$2"
set -f
for i in $1 ; do
RES="$(reg_remove "$i" "$RES")"
done
set +f
strip_spaces "$RES"
}
......@@ -172,18 +186,22 @@ reg_wordexclude()
{
local i
local RES="$2"
set -f
for i in $1 ; do
RES=$(reg_wordremove "$i" "$RES")
done
set +f
strip_spaces "$RES"
}
if_contain()
{
local i
set -f
for i in $2 ; do
[ "$i" = "$1" ] && return
done
set +f
return 1
}
......@@ -191,12 +209,14 @@ difference()
{
local RES=""
local i
set -f
for i in $1 ; do
if_contain $i "$2" || RES="$RES $i"
done
for i in $2 ; do
if_contain $i "$1" || RES="$RES $i"
done
set +f
strip_spaces "$RES"
}
......@@ -207,9 +227,11 @@ reg_include()
{
local i
local RES=""
set -f
for i in $2 ; do
echo "$i" | grep -q -w "$1" && RES="$RES $i"
done
set +f
strip_spaces "$RES"
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment