Talvez algo nas seguintes linhas:
sed -e 's;^.*$;\^&\$; list-of-names > list-of-patterns
rm $(find . -type f | grep -v -f list-of-patterns)
Tenha cuidado, isso certamente irá quebrar se os nomes dos arquivos contiverem espaços ou caracteres que o shell considera especiais. Por favor, verifique o que isso excluiria antes de executá-lo de verdade!
(Pode haver uma maneira de contornar o arquivo de padrão, mas eu não vejo isso).