Exclua com eficiência milhares de arquivos com nomes semelhantes, mas diferentes

Exclua com eficiência milhares de arquivos com nomes semelhantes, mas diferentes

Preciso excluir milhares de arquivos com nomes semelhantes, mas com finais diferentes. Eles foram criados por um malware que atacou a hospedagem compartilhada de um cliente e infectou vários sites wordpress. Estou usando o SSH no lugar do gerenciador de arquivos cPanel porque ele não me permite excluir tantos arquivos de uma vez.

Os arquivos são todos nomeados. work.php.xxxxOs x representam números entre 0 - 9999, ou seja, " work.php.2048" Eles estão todos em uma pasta.

Existe um comando SSH que me permita excluí-los e somente eles em massa?

Isso é diferente da duplicata sugerida porque todos os arquivos têm terminações exclusivas após a extensão .php, a solução sugerida para esse problema não funcionaria para mim.

Responder1

Eu recomendo fazer isso em duas etapas para garantir que você obtenha os resultados desejados. Primeiro, mova os arquivos para uma pasta vazia.

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 *

se seu DeleteFolder contiver apenas os arquivos que você deseja excluir, faça o seguinte:

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

Obviamente, você pode usar rm work.php.[0-9][0-9][0-9][0-9]dentro da pasta de destino se quiser fazer isso em uma única etapa. Pessoalmente, sou bastante cauteloso ao usar rm- daí o método de duas etapas.

informação relacionada