Sí, puedes usar más de un patrón con find :
$ find -name 'master-*' \! -name 'master-2018*' -print0 -prune |
xargs -0 echo rm -fr
(quitar el echo si está satisfecho con el simulacro)
Debes agregar un -maxdepth 1 predicado justo después de find si solo desea eliminar archivos del directorio actual, es decir, master-1991 pero no subdir/master-1991 .
En bash:
shopt -s extglob
echo rm master-!(2018*)
Eliminar el echo si parece correcto.
Lo anterior utiliza la función de globbing extendida de bash para hacer coincidir los archivos que comienzan con master- pero que no tienen 2018 inmediatamente siguiente, luego seguido por cualquier cosa (* ).