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-name
especifica un nombre de archivo-maxdepth 1
hará que el proceso de búsqueda se realice únicamente en el directorio especificado (find
por defecto atraviesa directorios)-type f
procesará solo archivos (y no, por ejemplo, directorios)-delete
eliminará 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
-print
en lugar de-delete
find . ! -name u ! -name p -maxdepth 1 -type f -print