


Drei Methoden zum Löschen aller Dateien außer einigen Typen in einem Verzeichnis unter Linux
Manchmal kann es vorkommen, dass Sie alle Dateien in einem Verzeichnis löschen oder einfach ein Verzeichnis bereinigen müssen, indem Sie Dateien mit Ausnahme einiger bestimmter Typen (die mit einer bestimmten Erweiterung enden) löschen. Inhaltsverzeichnis.
In diesem Artikel zeigen wir Ihnen, wie Sie mit den Befehlen rm, find und globignore Dateien in einem Verzeichnis außer der angegebenen Dateierweiterung oder dem angegebenen Dateityp löschen.
Bevor wir fortfahren, beginnen wir mit einem kurzen Blick auf ein wichtiges Konzept in Linux – den Dateinamen-Mustervergleich, der es uns ermöglicht, das vorliegende Problem zu lösen.
Unter Linux ist ein Shell-Muster eine Zeichenfolge, die die folgenden Sonderzeichen, sogenannte Platzhalter oder Metazeichen, enthält:
* – entspricht 0 oder mehr Zeichen
– entspricht einem beliebigen einzelnen Zeichen Zeichen
[sequence] – entspricht jedem Zeichen in der Sequenz
[!sequence] – entspricht jedem Zeichen, das nicht in der Sequenz
uns Hier werden drei mögliche Ansätze untersucht: einschließlich:
Löschen von Dateien mit erweiterten Mustervergleichsoperatoren
Die verschiedenen erweiterten Mustervergleichsoperatoren sind unten aufgeführt. Diese Musterlisten sind eine Liste mit einem oder mehreren Dateinamen:
* (Musterliste) – entspricht 0 oder mehr Vorkommen des angegebenen Musters
? (Musterliste) – entspricht 0 oder mehr Vorkommen des angegebenen Musters 1 Vorkommen des angegebenen Musters
@(Musterliste) – entspricht einem oder mehreren Vorkommen des angegebenen Musters
!(Musterliste) – entspricht allem außer einem angegebenen Muster
Um sie verwenden zu können, benötigen Sie Um die Extglob-Shell-Option wie folgt zu aktivieren:
# shopt -s extglob
1. Geben Sie den folgenden Befehl ein, um alle Dateien in einem Verzeichnis außer Dateiname
$ rm -v !("filename")
$ rm -v !("filename1"|"filename2")
$ rm -i !(*.zip)
$ rm -v !(*.zip|*.odt)
$ shopt -u extglobVerwenden Sie unter Linux den Befehl „find“, um Dateien zu löschen. Bei dieser Methode können wir einfach die entsprechenden Optionen des Befehls „find“ verwenden oder Pipes mit dem Befehl „xargs“ verwenden, wie unten gezeigt :
$ find /directory/ -type f -not -name 'PATTERN' -delete $ find /directory/ -type f -not -name 'PATTERN' -print0 | xargs -0 -I {} rm {} $ find /directory/ -type f -not -name 'PATTERN' -print0 | xargs -0 -I {} rm [options] {}5. Der folgende Befehl löscht alle Dateien außer .gz im aktuellen Verzeichnis
$ find . -type f -not -name '*.gz' -delete
$ find . -type f -not -name '*gz' -print0 | xargs -0 -I {} rm -v {}
$ find . -type f -not \(-name '*gz' -or -name '*odt' -or -name '*.jpg' \) -delete
$ cd test $ GLOBIGNORE=*.odt:*.iso:*.txtIn diesem Fall zusätzlich zu .odt, . iso und . Alle Dateien außer txt werden aus dem aktuellen Verzeichnis gelöscht. Führen Sie nun den folgenden Befehl aus, um dieses Verzeichnis zu leeren:
$ rm -v *Schließen Sie danach die GLOBIGNORE-Variable:
$ unset GLOBIGNORE
使用 bash 变量 GLOBIGNORE 删除文件
注:为了理解上面的命令行采用的标识的意思,请参考我们在每一个插图中使用的命令对应的 man 手册。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version