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

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

Nehmen wir an, Sie haben mehr als 100 Dateien in einem Ordner. Sie möchten alle außer einer oder wenigen bestimmten Dateien löschen. Wie würdest du es machen? Sie können die Dateien, die Sie behalten möchten, kopieren und an einem anderen Ort speichern und dann die restlichen Dateien oder den gesamten Ordner löschen. Aber warten Sie, ich kenne einen einfachsten Weg, dies zu tun. Sie können alle Dateien in einem älteren mit Ausnahme einer bestimmten Datei oder eines bestimmten Dateityps auf einmal mit einem einzigen Zeilenbefehl entfernen. Willst du wissen wie? Lesen Sie weiter.

Alle Dateien in einem Ordner außer einer bestimmten Datei entfernen

Stellen wir uns folgendes Beispiel vor. Wir haben einen Ordner namens „test“, der 10 Textdateien enthält.

$ ls test/

Beispielausgabe:

file10.txt file2.txt file4.txt file6.txt file8.txt
file1.txt file3.txt file5.txt file7.txt file9.txt

Jetzt möchte ich alles in diesem Ordner außer file10.txt löschen .

Es kann viele Befehle geben, um dies zu tun. Aber das sind die fünf Befehle, die mir bekannt sind.

Gehen Sie zuerst zum Test Ordner:

$ cd test/

Und führen Sie den folgenden Befehl aus:

$ rm -f !(file10.txt)

Oder verwenden Sie einfach:

$ rm !(file10.txt)

Der obige Befehl löscht alle Dateien im Testordner außer file10.txt Datei.

Sie können auch den Suchbefehl verwenden alles außer einem bestimmten zu löschen. Der folgende Befehl löscht alle Dateien im aktuellen Ordner (d. h. Test in unserem Fall) außer file10.txt.

$ find . ! -name file10.txt -delete

Wie Sie im obigen Beispiel sehen, enthält der Testordner denselben Dateityp, dh .txt-Dateien. Was würden Sie tun, wenn der Ordner unterschiedliche Dateitypen wie .mp3, .doc, .pdf usw. enthält? Es ist auch einfach, bestimmte Dateitypen in einem Ordner zu behalten und alles andere zu löschen.

Angenommen, unser Testordner enthält drei .txt-Dateien, drei .mp3-Dateien, drei .doc-Dateien und eine .pdf-Datei.

$ ls test/

Beispielausgabe:

total 0
-rw-r--r-- 1 sk users 0 Mar 22 15:51 file10.pdf
-rw-r--r-- 1 sk users 0 Mar 22 15:51 file1.txt
-rw-r--r-- 1 sk users 0 Mar 22 15:51 file2.txt
-rw-r--r-- 1 sk users 0 Mar 22 15:51 file3.txt
-rw-r--r-- 1 sk users 0 Mar 22 15:51 file4.mp3
-rw-r--r-- 1 sk users 0 Mar 22 15:51 file5.mp3
-rw-r--r-- 1 sk users 0 Mar 22 15:51 file6.mp3
-rw-r--r-- 1 sk users 0 Mar 22 15:51 file7.doc
-rw-r--r-- 1 sk users 0 Mar 22 15:51 file8.doc
-rw-r--r-- 1 sk users 0 Mar 22 15:51 file9.doc

Wie Sie in der obigen Ausgabe sehen, habe ich vier verschiedene Dateitypen (pdf, txt, mp3, doc) im Testordner. Ich möchte die Dateien mit .doc behalten Erweiterung und entfernen Sie alles andere. So kann ich das machen:

$ cd test/
$ rm !(*.doc)

Lassen Sie uns nun den Dateiinhalt mit dem Befehl auflisten:

$ ls

Beispielausgabe:

file7.doc  file8.doc  file9.doc

Der obige Befehl löscht alles im Ordner außer den Dateien mit der Erweiterung .doc .

Ebenso können Sie zwei oder mehr bestimmte Dateitypen behalten und alles andere entfernen. Angenommen, der folgende Befehl behält die Dateien bei, die .doc enthalten und .mp3 Erweiterungen.

$ rm !(*.doc|*.mp3)

Jetzt sehen Sie, dass die mp3- und doc-Dateien nicht gelöscht werden.

$ ls

Beispielausgabe:

file4.mp3  file5.mp3  file6.mp3  file7.doc  file8.doc  file9.doc
Herunterladen - Kostenloser Leitfaden:"GNU/Linux Basic"

Dies sind nur zehn verschiedene Dateitypen. Stellen Sie sich vor, Sie haben Hunderte von Dateien. Es wäre schwieriger, jeden Dateityp zu finden und manuell zu löschen. Dieser Trick erledigt die Arbeit in nur ein oder zwei Sekunden.

Bitte seien Sie sehr vorsichtig, wenn Sie diese Befehle verwenden. Überprüfen Sie den Verzeichnispfad, bevor Sie Dateien löschen, um ein versehentliches Löschen wichtiger Dateien zu vermeiden.

Empfohlene Lektüre:

  • Verhindern Sie, dass Dateien und Ordner unter Linux versehentlich gelöscht oder geändert werden
  • Ein einfacher Weg, Dateien unter Linux vor versehentlichem Löschen zu schützen

Hoffe das hilft. Wenn Sie diesen Leitfaden nützlich finden, teilen Sie ihn bitte in Ihren sozialen und beruflichen Netzwerken und unterstützen Sie uns.

Weitere gute Sachen folgen. Bleiben Sie dran!

Prost!


Linux
  1. So finden Sie eine Datei in Linux rekursiv in allen Verzeichnissen

  2. Alle Dateien/Verzeichnisse außer einer Datei entfernen?

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

  4. Wie finde ich alle Dateien, die einem bestimmten Benutzer in Unix/Linux gehören?

  5. Wie finde ich unter Linux alle Dateien, die bestimmten Text enthalten?

Alles über Tar-Dateien und wie man Dateien in Linux mit Terminal tart und enttarnt

So entfernen Sie Dateien mit einer bestimmten Erweiterung in Linux

So finden Sie Dateien, die eine bestimmte Textzeichenfolge in Linux enthalten

So entfernen Sie (^M) Zeichen aus einer Datei in Linux

So verbinden/verschmelzen Sie mehrere Audiodateien zu einer in Linux

So komprimieren Sie eine Datei unter Linux