| 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 |