Detaillierte Verwendung des Linux-Textsuchbefehls find

Detaillierte Verwendung des Linux-Textsuchbefehls find

Der Befehl „Find“ wird hauptsächlich zum Suchen von Verzeichnissen und Dateien verwendet und Sie können mehrere Parameter zum Abgleichen angeben.

Verwendung: find +查找路徑 +命令參數 [輸出形式]

Suchpfad: Sagen Sie find, wo gesucht werden soll

Befehlsparameter: Geben Sie die zu suchenden Dateiattribute an, einschließlich verschiedener Attribute wie Typ, Name, Größe, Änderungszeit usw.

Häufig verwendete Parameter:

  • -name Suche nach Dateinamen
  • -user Suche nach Dateibesitzer
  • -mtime sucht nach Dateiänderungszeit, -n bedeutet, dass die Dateiänderungszeit innerhalb von n Tagen ab heute liegt, +n bedeutet, dass die Dateiänderungszeit mehr als n Tage ab heute liegt
  • -type Suche nach Dateityp, d bedeutet Verzeichnis, f bedeutet Datei, l bedeutet symbolischer Link Datei
  • -size Suche nach Dateigröße (Einheiten K, M, G müssen hinzugefügt werden), +n M bedeutet, nach Dateien zu suchen, die größer als n M sind
  • -maxdepth gibt die maximale Tiefe bei der Suche nach Dateien an (standardmäßig werden alle Unterverzeichnisse unter dem angegebenen Pfad durchsucht. Nach Angabe der Tiefe können Sie nun nur noch im Verzeichnis der ersten oder zweiten Ebene suchen)

Ausgabeformat: Das Ausgabeformat ist optional. Zu den Ausgabeformaten gehören -print zum Drucken des gefundenen Inhalts (Standard ist das Drucken des gefundenen Inhalts, daher wird es im Allgemeinen nicht verwendet) und -exec zum Weiterverarbeiten des gefundenen Inhalts (häufiger verwendet). Das Format ist:

-exec Linux-Befehl {} \; {} stellt den gefundenen Inhalt dar

Beispiele:

find . -maxdepth 1 -name "1.txt" # Geben Sie den zu durchsuchenden Dateinamen direkt an. -maxdepth 1 bedeutet, dass die maximale Suchebene das Verzeichnis der ersten Ebene ist. 

find . -maxdepth 1 -name "*.txt" # Suche nach Dateien mit der Endung .txt im aktuellen Verzeichnis 

find . -maxdepth 1 -name "[0-9].txt" # Findet txt-Dateien mit Zahlennamen 

find . -maxdepth 1 -name "[0-9]*.txt" # Finde Dateien, die mit einer Zahl beginnen 

find . -maxdepth 1 -mtime -5 # Suche nach Dateien im aktuellen Verzeichnis, die innerhalb der letzten 5 Tage geändert wurdenfind . -maxdepth 1 -mtime +5 # Suche nach Dateien im aktuellen Verzeichnis, die vor mehr als 5 Tagen geändert wurdenfind . -maxdepth 1 -type d # Suche nach Dateien vom Typ „Verzeichnis“ im aktuellen Verzeichnis, mit einer maximalen Suchebene von einem Verzeichnis (versteckte Verzeichnisse werden gefunden) 

find . -maxdepth 1 -size +10M # Findet Dateien, die größer als 10 MB sind, im aktuellen Verzeichnis find . -maxdepth 1 -size -1M # Findet Dateien, die kleiner als 1 MB sind, im aktuellen Verzeichnis 

find . -maxdepth 1 -name "[az].txt" -exec rm -rf {} \; # Sucht nach txt-Dateien mit einem Namen und löscht sie find . -maxdepth 1 -name "*.txt" | xargs grep "error" # Druckt den Inhalt der fehlerhaften Zeile in der Datei, die mit txt endet find . -maxdepth 1 -name "*.txt" | xargs rm # Löscht Dateien, die mit txt enden, im aktuellen Verzeichnis

xargs übergibt die Ausführungsergebnisse des Befehls vor der Pipeline als Parameter nacheinander an den Befehl nach der Pipeline.

ls [az].txt | xargs -n1 -i{} mv {} {}.bak # Fügt den mit einem einzelnen Buchstaben benannten txt-Dateien im aktuellen Verzeichnis die Endung .bak hinzu. -n1 bedeutet, Objekte einzeln zu verarbeiten. -i{} ersetzt das vorherige Objekt durch {}. mv {} {}.bak ist gleichbedeutend mit mv a.txt a.txt.bak 

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • Einführung in die Verwendung und Deaktivierung von Transparent Huge Pages in Linux
  • Detaillierte Erläuterung zum Upgrade von Python und zur Installation von Pip unter Linux
  • So verwenden Sie eine for-Schleife in Kombination mit if, um Dateien im Linux-Shell-Verzeichnis zu finden
  • So erhalten Sie den tatsächlichen Pfad des aktuellen Skripts in Linux
  • Linux verwendet den Befehl lsof, um den Status des Dateiöffnens zu überprüfen
  • Tutorial und Praxis zu den virtuellen Speichereinstellungen unter Linux
  • Detaillierte Erklärung zur Verwendung des Grep-Befehls in Linux
  • Detaillierte Erläuterung des Linux-Textverarbeitungsbefehls sort
  • Eine Frage zum Verständnis mehrerer Parameter des Sortierbefehls in Linux
  • So löschen Sie verstümmelte oder mit Sonderzeichen versehene Dateien in Linux

<<:  So zeichnen Sie in CocosCreator ein cooles Radardiagramm

>>:  Detaillierte Schritte zur Installation von Mysql5.7.19 mit yum auf Centos7

Artikel empfehlen

Javascript-Grundlagen zu integrierten Objekten

Inhaltsverzeichnis 1. Einführung in integrierte O...

Mysql praktische Übungen einfaches Bibliotheksverwaltungssystem

Inhaltsverzeichnis 1. Sortierfunktion 2. Vorberei...

Lösung für das Jitter-Problem beim CSS3-Transformationsübergang

transform: scale(); Skalierung verursacht Jitter ...

JavaScript zum Erzielen eines Skin-Effekts (Ändern des Hintergrunds)

In diesem Artikel wird der spezifische JavaScript...

Beispiel für das Hinzufügen eines Musikvideos zu einer HTML-Seite

1. Video-Tag Unterstützt die automatische Wiederg...

JavaScript Canvas realisiert farbenfrohen Sonnenhalo-Effekt

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erklärung zur Verwendung von Vue-Mixin

Inhaltsverzeichnis Verwendung von Vue-Mixin Daten...

MySQL-Triggerprinzip und Analyse von Anwendungsbeispielen

Dieser Artikel erläutert anhand von Beispielen di...

So zeigen Sie kleine Symbole in der Browsertitelleiste einer HTML-Webseite an

Genau wie dieser Effekt ist auch die Methode sehr...