96 lines
1.4 KiB
Text
96 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
|