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

Suchen und löschen Sie alle Verzeichnisse mit dem Namen test in Linux

xargs macht die ganze Magie:

find . -name test -type d -print0|xargs -0 rm -r --

xargs führt den als Parameter übergebenen Befehl mit den an stdin übergebenen Argumenten aus.

Dies verwendet rm -r um das Verzeichnis und alle seine Kinder zu löschen.

Die -- bezeichnet das Ende der Argumente, um einen Pfad zu vermeiden, der mit - beginnt nicht als Argument behandelt werden.

-print0 sagt find um \0 zu drucken Zeichen statt Zeilenumbrüche; und -0 sagt xargs nur \0 zu behandeln als Argumenttrennzeichen.

Dies ruft rm an mit vielen Verzeichnissen gleichzeitig, wodurch der Overhead des Aufrufs von rm vermieden wird getrennt für jedes Verzeichnis.

Alternativ find kann auch einen Befehl für jede ausgewählte ausführen Datei:

find . -name test -type d -exec rm -r {} \;

Und dieses mit besserer Leistung, da es rm aufruft mit mehreren Verzeichnissen gleichzeitig :

find . -name test -type d -exec rm -r {} +

(Beachten Sie die + Am Ende; dieser entspricht dem xargs Lösung.)


find /path/to/dir -name "test" -type d -delete
  • -name: sucht nach dem übergebenen Namen. Sie können -regex verwenden zur Bereitstellung von Namen basierend auf regulären Ausdrücken

  • -Typ: sucht nach Dateitypen. d sucht nur nach Verzeichnissen

  • -löschen: Aktion, die die gefundene Liste löscht.

Alternativ:

find /path/to/dir -name "test" -type d -exec rm -rf {} \;

Als J.F. Sebastian in den Kommentaren angegeben:

Sie könnten + verwenden statt \; um mehr als ein Verzeichnis gleichzeitig zu übergeben.


noch eine andere Möglichkeit, dies zu tun, ist

find . -name test -exec rm -R "{}" \;

Ein hilfreicher Link zum Finden:http://www.softpanorama.info/Tools/Find/using_exec_option_and_xargs_in_find.shtml


Linux
  1. So suchen und entfernen Sie Verzeichnisse rekursiv unter Linux

  2. Finden Sie die größten Dateien und Verzeichnisse in Linux

  3. Linux Dateien und Verzeichnisse löschen

  4. So finden und löschen Sie leere Verzeichnisse und Dateien in Unix

  5. So finden und löschen Sie leere Verzeichnisse und Dateien in Linux

So finden und löschen Sie defekte Symlinks in Linux

3 Möglichkeiten, Dateien und Verzeichnisse in Linux zu finden

So finden und löschen Sie leere Verzeichnisse in Linux

Finden Sie Dateien und Verzeichnisse unter Linux ganz einfach

So finden Sie die PID und PPID eines Prozesses in Linux

So löschen Sie Dateien und Verzeichnisse mit der Linux-Befehlszeile