GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie lösche ich alle Dateien in einem Verzeichnis außer einigen?

An rm alle außer u,p Geben Sie in der Bash einfach Folgendes ein:

rm !(u|p)

Dazu muss die folgende Option gesetzt werden:

shopt -s extglob

Siehe mehr:glob - Gregs Wiki


In diesen Fällen tippe ich

rm *

Dann drücke ich Strg +X ,* erweitern * in alle sichtbaren Dateinamen.

Dann kann ich einfach die beiden Dateien, die ich behalten möchte, aus der Liste entfernen und schließlich die Befehlszeile ausführen.


Sie können find verwenden

find . ! -name u ! -name p -maxdepth 1 -type f -delete
  • ! negiert den nächsten Ausdruck
  • -name gibt einen Dateinamen an
  • -maxdepth 1 bewirkt, dass find nur das angegebene Verzeichnis verarbeitet (find durchläuft standardmäßig Verzeichnisse)
  • -type f verarbeitet nur Dateien (und nicht zum Beispiel Verzeichnisse)
  • -delete löscht die Dateien

Sie können dann die Bedingungen anpassen, indem Sie auf die Manpage von find

schauen

Aktualisieren

  • Denken Sie daran, dass die Reihenfolge der Elemente der Ausdrücke wichtig ist (siehe Dokumentation)
  • Testen Sie Ihren Befehl zuerst mit -print statt -delete

    find . ! -name u ! -name p -maxdepth 1 -type f -print
    

Linux
  1. Alle Dateien außer in einem bestimmten Unterverzeichnis löschen mit Suchen?

  2. Wie lösche ich alle Dateien mit einer bestimmten Erweiterung in einem bestimmten Ordner?

  3. So finden Sie rekursiv alle Dateien mit einer Dateigröße von Null (0) Bytes in einem Verzeichnis

  4. Wie zähle ich die Anzahl der Dateien in jedem Verzeichnis?

  5. Wie finde ich alle fest verlinkten Dateien in einem Dateisystem?

3 Möglichkeiten zum Löschen aller Dateien in einem Verzeichnis außer einer oder wenigen Dateien mit Erweiterungen

So zählen Sie Dateien im Verzeichnis in Linux

Wie man alle Dateien in allen Unterverzeichnissen in Bash gzippt

Wie finde ich alle Dateien mit einem bestimmten übergeordneten Verzeichnis in Linux?

Löschen Sie übereinstimmende Dateien in allen Unterverzeichnissen

So finden Sie alle Null-Byte-Dateien im Verzeichnis