com zsh :
setopt extendedglob
rm -rf -- ^b_<105-110>
Remove todos os arquivos e diretórios não ocultos, exceto aqueles cujo nome começa com b_ e termina em um número decimal cujo valor está compreendido entre 105 e 110.
Se você quiser apenas remover arquivos b_* :
rm -rf -- b_(*~<105-110>)
~ sendo o operador zsh glob para exceto .
Ou você poderia fazer:
all_b_files=(b_*)
to_exclude=(b_{105..110})
rm -rf -- ${all_b_files:|to_exclude}
Com ksh93 ou bash -O extglob (ou zsh -o kshglob ):
set -- b_{105..110} # set positional parameters to b_105 b_106...
IFS='|' # used for joining positional parameters in "$*"
pattern="$*" # prepare extended ksh glob
IFS= # empty IFS to prevent splitting
rm -rf -- !($pattern)