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

Wie lösche ich alle Dateien außer einer benannten Datei aus einem bestimmten Ordner?

Für diese Frage gibt es hier bereits Antworten :Alle Dateien außer Dateien mit der Endung pdf in einem Verzeichnis löschen

(13 Antworten)
Vor 5 Jahren geschlossen.

Hier ist die Situation.

Ich habe ein Verzeichnis, das viele Dateien mit unterschiedlichen Erweiterungen enthält. Ich möchte alle Dateien außer einer mit einem bestimmten Namen löschen.

Dies kann einfach über die GUI erfolgen, indem Sie alle auswählen und Strg drücken und Abwählen der betreffenden Datei.

Das ist genau das, was ich will, aber wie kann ich das von der Kommandozeile aus machen?

Zum Beispiel: dirA enthält die folgenden Dateien:

a.txt
b.txt
c.php
d.html
a.db
b.db
e.html

Ich möchte alle Dateien löschen und nur die Datei mit dem Namen a.txt behalten .

Beste Antwort

Ich habe diesen einfachen, großartigen Befehl mitgebracht:

rm !(a.txt)

Sie können verwenden! als Negation

Testen Sie den Glob zuerst mit Echo, dh

echo !(a.txt)

Wenn es nicht funktioniert, für bash Sie müssen dies möglicherweise mit

aktivieren
shopt -s extglob

Wenn Sie beide behalten wollten a.txt und b.txt , können Sie !(a.txt|b.txt) verwenden oder !([ab].txt) .

Bearbeiten:

um rm zu machen Wenn Sie rekursiv arbeiten, fügen Sie einfach -r hinzu wie

rm -r !(a.txt)

und es funktioniert auch mit Ordnern. Sie müssen nur den Namen in den Verzeichnisnamen ändern, z. B. für a_dir

rm -r !(a_dir)

Ubuntu
  1. So entfernen Sie alle Dateien in einem Ordner außer einer bestimmten Datei in Linux

  2. Wie verschiebt man alle Dateien (einschließlich versteckter) von einem Verzeichnis in ein anderes?

  3. Wie verschiebt man 100 Dateien aus einem Ordner mit Tausenden?

  4. Alle Dateien in einem Ordner außer den letzten (neuesten) 20 löschen?

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

Wie greife ich von Ubuntu auf Windows-Dateien zu?

Wie lösche ich alle Dateien in einem bestimmten Ordner, der sich in Unterordnern des aktuellen Verzeichnisses befindet, mit Ausnahme einer bestimmten Datei?

So löschen Sie Dateien/Ordner über den Dateimanager

Verschieben Sie alle Dateien bis auf eine

Wie teilt man eine Textdatei in mehrere *.txt-Dateien auf?

Löschen Sie alle Ordner innerhalb eines Ordners außer einem mit einem bestimmten Namen