Sì, puoi utilizzare più di un pattern con find :
$ find -name 'master-*' \! -name 'master-2018*' -print0 -prune |
xargs -0 echo rm -fr
(rimuovi il echo se sei soddisfatto del test)
Dovresti aggiungere un -maxdepth 1 predicato subito dopo find se vuoi solo rimuovere i file dalla directory corrente, cioè master-1991 ma nessun subdir/master-1991 .
In bash:
shopt -s extglob
echo rm master-!(2018*)
Rimuovi il echo se sembra corretto.
Quanto sopra utilizza la funzionalità di globbing estesa di bash per confrontare i file che iniziano con master- ma che non hanno 2018 immediatamente successivo, quindi seguito da qualsiasi cosa (* ).