Umfassende und detaillierte Erklärung der Verwendung des grep-Befehls unter Linux

齐天大圣
Freigeben: 2020-09-17 09:13:35
Original
3397 Leute haben es durchsucht

Wenn Sie das Linux-System erlernen möchten, müssen Sie den Befehl grep beherrschen. Der Befehl grep wird verwendet, um passende Zeilen in Dateien oder der Standardausgabe zu finden. Seine Stärke besteht darin, dass er reguläre Ausdrücke unterstützt. In der täglichen Arbeit ist grep definitiv einer der am häufigsten verwendeten Befehle.

Hinweis: In diesem Artikel wird nur die Verwendung von grep vorgestellt und keine regulären Ausdrücke.

Werfen wir einen Blick auf einige der gebräuchlichen Optionen und ihre Bedeutung:

Optionen

  • -i Groß- und Kleinschreibung bei der Suche ignorieren

  • -n Alle übereinstimmenden Zeilen auflisten und Zeilennummern anzeigen

  • - v Auswahl umkehren

  • -c Nur die Anzahl der übereinstimmenden Zeilen ausgeben

  • -l Nur übereinstimmende Dateinamen auflisten, keine bestimmten übereinstimmenden Zeilen auflisten

  • -h Wird nicht angezeigt, wenn mehrere Dateien abgefragt werden. Dateiname

  • -r Rekursive Suche

  • -q Ausgabe jeglicher Ergebnisse verbieten, der Exit-Status zeigt an, ob die Suche erfolgreich ist

  • --color=auto Zeigt die gefundenen Schlüsselwörter in Farbe an

  • -E, -- „extended-regexp PATTERN“ ist ein erweiterbarer regulärer Ausdruck (abgekürzt als ERE)

  • -B, --before-context=NUM Gibt NUM Zeilen aus, die mit Text beginnen

  • -A , --after-context=NUM Gibt NUM aus Zeilen, die mit Text enden

Lassen Sie uns einige Verwendungen von grep einführen:

Wir wissen, dass php.ini eine Zeitzonenkonfiguration hat, die Einzelheiten sind nicht klar, wir kennen nur die Zeitzone. Jetzt wollen wir die Konfigurationsinformationen finden, wir kann grep zum Suchen verwenden

# 加上-i选项,忽略大小写
# grep -i timezone /usr/local/php/etc/php.ini 
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = PRC
Nach dem Login kopieren

grep unterstützt die Suche in mehreren Dateien

# 这里我们加上-n选项,输出文件的行号
# grep -in stdio itoa.c quicksort.c 
itoa.c:2:#include <stdio.h>
quicksort.c:1:#include <stdio.h>
Nach dem Login kopieren

Die Verwendung der umgekehrten Auswahl -v: Wenn ich ein Programm ausführe, möchte ich sehen, ob dieses Programm noch einen Prozess im Prozess hat, den Sie verwenden können Die folgende Methode

# ps aux | grep curl.php 
root     14374 98.3  1.2 277844 12396 pts/0    R+   07:54   1:07 php curl.php
root     14404  0.0  0.0 112664   984 pts/2    R+   07:55   0:00 grep --color=auto curl.php
Nach dem Login kopieren

Hier liegt ein Problem vor. Wir müssen -v verwenden, um den Prozess von grep selbst herauszufiltern.

# ps aux | grep curl.php | grep -v grep 
root     14374 98.5  1.2 277844 12396 pts/0    R+   07:54   2:36 php curl.php
Nach dem Login kopieren

Wir möchten die Anzahl der Zeilen zählen, die im letzten Befehl root enthalten. Daher benötigen wir hier die - c-Option wird verwendet.

# last | grep -c root
353
Nach dem Login kopieren

Es besteht häufig die Notwendigkeit, bestimmte Texte in Dateien stapelweise zu ersetzen. Woher wissen Sie also, in welchen Dateien sich diese Texte befinden? Grep kann dies mit der Option -l tun. Schauen wir uns ein weiteres Beispiel an. In diesem Beispiel möchten wir Kommentarzeilen und Leerzeilen in der Datei php.ini herausfiltern Auch eine häufig verwendete Option -r kann verwendet werden, um alle Dateien im aktuellen Verzeichnis sowie Dateien in Unterverzeichnissen rekursiv zu durchsuchen. Als nächstes möchten wir überprüfen, welche Fußzeilendateien sich im Website-Verzeichnis befinden. Wir können den folgenden Befehl verwenden, um sie zu finden

# find . -type f -exec grep -l define {} \;
./find.c
./itoa2.c
./wc.c
./test.c
./wordcnt.c
./longestline.c
./cal.c
./sortline2.c
./sortline.c
./found.c
./atof.c
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonUmfassende und detaillierte Erklärung der Verwendung des grep-Befehls unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!