95 lines
1.4 KiB
Text
95 lines
1.4 KiB
Text
pat1='str'
|
|
pat2='[^;]'
|
|
pat3='[[:alnum:]_]'
|
|
pat4='[[:alnum:]][[fu]b'
|
|
pat5='?tr'
|
|
pat6='?tr\'
|
|
pat7='[[:alnum:]]_'
|
|
pat8='*tr'
|
|
|
|
declare z="start"
|
|
declare NUM=1000
|
|
|
|
#----------------------------------
|
|
# create a long string with ';'
|
|
#----------------------------------
|
|
for ((i=0; i<$NUM; i++)); do
|
|
z="$z;string$i"
|
|
done
|
|
|
|
#z="$z;string;foo"
|
|
|
|
#------------------------------
|
|
# delete everything except ';'
|
|
#------------------------------
|
|
|
|
# try different patterns here
|
|
x="${z//$pat1}"
|
|
echo $x
|
|
x="${z//$pat2}"
|
|
echo $x
|
|
x="${z//$pat3}"
|
|
echo $x
|
|
x="${z//$pat4}"
|
|
echo $x
|
|
x="${z//$pat5}"
|
|
echo $x
|
|
x="${z//$pat6}"
|
|
echo $x
|
|
x="${z//$pat7}"
|
|
echo $x
|
|
x="${z//$pat8}"
|
|
echo $x
|
|
|
|
|
|
declare z="start"
|
|
declare NUM=1000
|
|
|
|
#----------------------------------
|
|
# create a long string with ';'
|
|
#----------------------------------
|
|
for ((i=0; i<$NUM; i++)); do
|
|
z="$z;string$i"
|
|
done
|
|
|
|
#z="$z;string;foo"
|
|
|
|
#------------------------------
|
|
# delete everything except ';'
|
|
#------------------------------
|
|
|
|
# try different patterns here
|
|
x="${z//[^;]}"
|
|
echo $x
|
|
x="${z/#[^;][^;]}"
|
|
echo $x
|
|
x="${z/%[^;][^;]}"
|
|
echo $x
|
|
|
|
export LANG=C LC_ALL=C LC_CTYPE=C
|
|
|
|
# try different patterns here
|
|
x="${z//$pat1}"
|
|
echo $x
|
|
x="${z//$pat2}"
|
|
echo $x
|
|
x="${z//$pat3}"
|
|
echo $x
|
|
x="${z//$pat4}"
|
|
echo $x
|
|
x="${z//$pat5}"
|
|
echo $x
|
|
x="${z//$pat6}"
|
|
echo $x
|
|
x="${z//$pat7}"
|
|
echo $x
|
|
x="${z//$pat8}"
|
|
echo $x
|
|
|
|
# try different patterns here
|
|
x="${z//[^;]}"
|
|
echo $x
|
|
x="${z/#[^;][^;]}"
|
|
echo $x
|
|
x="${z/%[^;][^;]}"
|
|
echo $x
|