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

Verwendung von VNode in Vue.js

Was ist VNode In vue.js gibt es eine VNode-Klasse...

Ein Artikel zum Erlernen von CSS3-Bildrändern

Mit der CSS3-Eigenschaft „border-image“ können Si...

Centos7.5 installiert die Bereitstellung des binären Pakets mysql5.7.24

1. Umweltvorbereitung: Betriebssystem: CentOS Lin...

Reines CSS zum Ändern der Farbe des Bildes

Die CSS-Technik zum Ändern der Farbe eines Bildes...

Eine Aufzeichnung der Fallstricke des Lebenszyklus von WeChat-Applet-Komponenten

Der Komponentenlebenszyklus ist normalerweise der...

So verwenden Sie VUE, um die Ali Iconfont-Bibliothek online aufzurufen

Vorwort Vor vielen Jahren war ich ein Neuling auf...

Detaillierte Erläuterung der MySQL-Existes- und Not-Existes-Beispiele

Detaillierte Erläuterung der MySQL-Existes- und N...

Attribute im Vue V-For-Loop-Objekt

Inhaltsverzeichnis 1. Werte innerhalb von Schleif...

Docker stellt über einen Port eine Verbindung zu einem Container her

Docker-Container-Verbindung 1. Netzwerk-Port-Mapp...

Implementierungsmethode des Nginx+Tomcat-Lastausgleichsclusters

Die experimentelle Umgebung ist wie folgt Hier mü...

So installieren Sie MySQL Community Server 5.6.39

Dieser Artikel enthält das ausführliche Tutorial ...