A rm todos menos u,p en bash solo escribe:
rm !(u|p)
Esto requiere que se configure la siguiente opción:
shopt -s extglob
Ver más:glob - Wiki de Greg
Yo lo que hago en esos casos es teclear
rm *
Luego presiono Ctrl +X ,* para expandir * en todos los nombres de archivos visibles.
Luego puedo eliminar los dos archivos que me gusta mantener de la lista y finalmente ejecutar la línea de comando.
Puedes usar find
find . ! -name u ! -name p -maxdepth 1 -type f -delete
!niega la siguiente expresión-nameespecifica un nombre de archivo-maxdepth 1hará que el proceso de búsqueda se realice únicamente en el directorio especificado (findpor defecto atraviesa directorios)-type fprocesará solo archivos (y no, por ejemplo, directorios)-deleteeliminará los archivos
A continuación, puede ajustar las condiciones mirando la página de manual de find
Actualizar
- Tenga en cuenta que el orden de los elementos de las expresiones es significativo (consulte la documentación)
-
Pruebe su comando primero usando
-printen lugar de-deletefind . ! -name u ! -name p -maxdepth 1 -type f -print