GNU/Linux >> Tutoriales Linux >  >> Linux

Eliminar archivos que comienzan con pero no contienen

Sí, puedes usar más de un patrón con find :

$ find -name 'master-*' \! -name 'master-2018*' -print0 -prune |
     xargs -0 echo rm -fr

(quitar el echo si está satisfecho con el simulacro)

Debes agregar un -maxdepth 1 predicado justo después de find si solo desea eliminar archivos del directorio actual, es decir, master-1991 pero no subdir/master-1991 .


En bash:

shopt -s extglob
echo rm master-!(2018*)

Eliminar el echo si parece correcto.

Lo anterior utiliza la función de globbing extendida de bash para hacer coincidir los archivos que comienzan con master- pero que no tienen 2018 inmediatamente siguiente, luego seguido por cualquier cosa (* ).


Linux
  1. ¿Buscar y eliminar archivos grandes que están abiertos pero se han eliminado?

  2. Encuentre archivos y péguelos (con espacios)

  3. Listar todos los archivos de imágenes gráficas con find?

  4. Encuentra recursivamente archivos con una extensión específica

  5. encontrar archivos con ACL establecidas

Comando Find de Linux con ejemplos prácticos

Encuentra archivos perdidos con Scalpel

Cómo eliminar archivos con extensión específica en Linux

Cómo encontrar archivos con el comando fd en Linux

Tutorial de comando de búsqueda de Linux (con ejemplos)

Cómo encontrar archivos que no contienen una cadena de búsqueda determinada