Löschen Sie effizient Tausende von Dateien mit ähnlichen, aber unterschiedlichen Namen

Löschen Sie effizient Tausende von Dateien mit ähnlichen, aber unterschiedlichen Namen

Ich muss Tausende von Dateien löschen, die ähnliche Namen, aber unterschiedliche Endungen haben. Sie wurden von Malware erstellt, die das Shared Hosting eines Kunden angegriffen und mehrere WordPress-Sites infiziert hat. Ich verwende SSH anstelle des cPanel-Dateimanagers, da ich damit nicht so viele Dateien auf einmal löschen kann.

Die Dateien sind alle benannt. work.php.xxxxDie x stehen für Zahlen zwischen 0 und 9999, d. h. " work.php.2048". Sie befinden sich alle in einem Ordner.

Gibt es einen SSH-Befehl, mit dem ich sie und nur sie alle löschen kann?

Dies unterscheidet sich vom vorgeschlagenen Duplikat, da die Dateien alle eindeutige Endungen nach der Erweiterung .php haben. Die vorgeschlagene Lösung für dieses Problem würde bei mir nicht funktionieren.

Antwort1

Um sicherzustellen, dass Sie die gewünschten Ergebnisse erzielen, empfehle ich, dies in zwei Schritten durchzuführen. Verschieben Sie zunächst die Dateien in einen leeren Ordner.

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 *

Wenn Ihr DeleteFolder nur die Dateien enthält, die Sie löschen möchten, gehen Sie wie folgt vor:

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

Sie können es natürlich auch rm work.php.[0-9][0-9][0-9][0-9]innerhalb des Zielordners verwenden, wenn Sie es in einem Schritt erledigen möchten. Ich persönlich bin bei der Verwendung ziemlich vorsichtig rm– daher die zweistufige Methode.

verwandte Informationen