Elimina eficazmente miles de archivos con nombres similares pero diferentes

Elimina eficazmente miles de archivos con nombres similares pero diferentes

Necesito eliminar miles de archivos que tienen nombres similares pero terminaciones diferentes. Fueron creados por malware que atacó el alojamiento compartido de un cliente e infectó varios sitios de WordPress. Estoy usando SSH en lugar del administrador de archivos de cPanel porque no me permite eliminar tantos archivos a la vez.

Todos los archivos tienen nombres. work.php.xxxxLas x representan números entre 0 y 9999, es decir, " work.php.2048". Todos están en una carpeta.

¿Existe algún comando SSH que me permita eliminarlos y solo en masa?

Esto es diferente del duplicado sugerido porque todos los archivos tienen terminaciones únicas después de la extensión .php, la solución sugerida para ese problema no funcionaría para mí.

Respuesta1

Recomiendo hacer esto en dos pasos para asegurarse de obtener los resultados que desea. Primero, mueva los archivos a una carpeta vacía.

user@linux:/.../somefolder#                 cd [TargetFolder]
user@linux:/.../TargetFolder#               mkdir DeleteFolder
user@linux:/.../TargetFolder#               find ./ -regex './work.php.[0-9][0-9][0-9][0-9]' -exec mv {} DeleteFolder/ \;
user@linux:/.../TargetFolder/DeleteFolder#  cd DeleteFolder
user@linux:/.../TargetFolder/DeleteFolder#  ls -l *

Si su DeleteFolder contiene solo los archivos que desea eliminar, haga lo siguiente:

user@linux:/.../TargetFolder/DeleteFolder#  rm work.php.[0-9][0-9][0-9][0-9]

Obviamente puedes usarlo rm work.php.[0-9][0-9][0-9][0-9]dentro de la carpeta de destino si quieres hacerlo en un solo paso. Personalmente soy bastante cauteloso al utilizarlo rm, de ahí el método de dos pasos.

información relacionada