find . -type f -not \( -name f2 -o -name f5 \) -delete
deve fazer isso.
-delete
é igual a -exec rm -f '{}' +
, mas mais curto e ainda mais eficiente. Execute-o primeiro sem ele, para confirmar que ele obtém apenas os arquivos que você realmente deseja excluir.