So verwenden Sie den Grep-Befehl in Linux

Verstehen des grep-Befehls mit praktischen Beispielen zum einfachen Filtern und Anzeigen des Dateiinhalts

GREPsteht für „Global Regular Expression Print“. Es ist ein nützliches Befehlszeilen-Dienstprogramm von Linux, um nach der Textzeile zu suchen, die dem vom Benutzer bereitgestellten Muster entspricht.

grepnimmt die Eingabe vom Benutzer in Form von Zeichenfolgen oder Wörtern entgegen, die der Benutzer in einer bestimmten Datei suchen möchte. Der Befehl überprüft dann die vom Benutzer angegebene Datei auf dieses Muster und gibt dann die Zeilen zurück, die dem bereitgestellten Muster entsprechen.

Es leistet hervorragende Arbeit, indem es den Inhalt einer Datei filtert, wodurch unsere Aufgabe erleichtert wird, bestimmte Inhalte in einzelnen oder mehreren Dateien gleichzeitig zu durchsuchen.

Lassen Sie uns in diesem Artikel die Funktionsweise des grepBefehls mit einigen praktischen Beispielen im Detail überprüfen .

Optionen verfügbar mit grepBefehl

Dies sind einige der grundlegenden Optionen, die Sie häufig mit dem grepBefehl verwenden werden.

Möglichkeit Beschreibung
-i Für eine Suche ohne Beachtung der Groß-/Kleinschreibung
-r Um rekursiv nach allen Dateien im angegebenen Verzeichnis und seinen Unterverzeichnissen zu suchen
-c So zeigen Sie an, wie oft eine Zeichenfolge insgesamt angezeigt wird
-v So zeigen Sie die nicht übereinstimmenden Zeilen an
-w Filtern Sie nach diesem bestimmten Wort, das separat verwendet wird

Verwenden des grepBefehls

grepDer Befehl wird normalerweise mit dem |Dienstprogramm pipe ( ) verwendet. Es kann mit der Shell-Pipe implementiert werden, wenn Sie es mit einigen anderen Linux-Befehlen verwenden möchten. Zwar grepkann auch einzeln , ohne das Rohr (verwendet werden |) Dienstprogramm.

Sehen wir uns einige der grundlegenden Syntaxen des grepBefehls mit und ohne das Pipe-Dienstprogramm an.

Lassen Sie mich Ihnen zuerst die Beispieltextdatei zeigen, die ich verwenden werde, um den grepBefehl zu veranschaulichen .

INDIA IS A BEAUTIFUL COUNTRY OF PEACE LOVING PEOPLE.
india stands on three pillars of legislature, executive and judiciary.
India Is a Beautiful Country Of Peace Loving People.
India cares for the people as it's resource
cartesian coordinates
importance of all th cartesian coordinates.
Following are two empty lines.



use of a bullock cart is a common sight in the village for the agrarian chores.

This is the end of the sample file.

grepWird mit dem Dienstprogramm Pipe ( | ) verwendet

grepDer Befehl kann zusammen mit anderen Linux-Befehlen mithilfe der Shellpipes implementiert werden. catZum Beispiel, wenn Sie den Befehl verwenden, um den Inhalt der Datei anzuzeigen, aber gleichzeitig die Ausgabe mit dem grepBefehl weiterleiten, um nur den Inhalt anzuzeigen, den Sie sehen möchten. Dies wird klarer, wenn wir das Beispiel durchgehen.

Syntax :

[command] | grep [string]

Beispiel :

cat sample.txt | grep legislature

Hier habe ich den catBefehl verwendet, um einige Zeilen aus der Datei 'sample.txt' anzuzeigen. Es sollen nur die Zeilen angezeigt werden, die das Wort 'Legislative' enthalten und die restlichen Zeilen ignorieren.

Ausgabe :

[email protected]:~/workspace$ cat sample.txt | grep legislature
india stands on three pillars of legislature, executive and judiciary.
[email protected]:~/workspace$

grepverwendet ohne Rohr ( | ) Dienstprogramm

grepkann sogar direkt als einzelner Befehl verwendet werden, ohne das | Dienstprogramm pipe ( ) zu verwenden.

Syntax :

grep [string_to_be_searched] [filename]

Beispiel :

grep India sample.txt

Ausgabe :

India Is a Beautiful Country Of Peace Loving People.
India cares for the people as it's resource

Daher habe ich den grepBefehl direkt verwendet, um die Zeilen zu filtern, die den String 'India' aus der Textdatei 'sample.txt' enthalten.

Groß-/Kleinschreibung bei der Suche mit grepBefehl

Linux ist sehr vorsichtig mit der Groß-/Kleinschreibung, wenn wir die Befehle auf dem Terminal abfeuern. Dies erfordert, dass der Benutzer auf die Groß-/Kleinschreibung der Zeichenfolge, die in den Befehl eingefügt wird, achten muss.

Lassen Sie uns dies an einem Beispiel sehen.

grep peace sample.txt

In diesem Fall erhalten wir keine Ausgabe, da in der Beispieldatei kein Wort als 'Frieden' vorhanden ist. Wir haben das Wort „Frieden“ mit einem großen „P“. Das Wort ist dasselbe, aber wenn wir den grepBefehl ohne Option verwenden, sucht er nach der genauen Übereinstimmung in der Datei, wobei Änderungen in der Groß-/Kleinschreibung ignoriert werden.

Um diese Mehrdeutigkeit zu vermeiden, können Sie einfach die -iOption verwenden, die buchstäblich den grepBefehl "vergessen Sie den Fall, in dem ich die Zeichenfolge eingefügt habe, und suchen Sie einfach nach allen übereinstimmenden Mustern in der Datei".

Syntax:

grep -i [string] [filename]

Beispiel :

grep -i peace sample.txt

Ausgabe :

INDIA IS A BEAUTIFUL COUNTRY OF PEACE LOVING PEOPLE.
India Is a Beautiful Country Of Peace Loving People.

Alle übereinstimmenden Zeilen werden unabhängig von der Groß-/Kleinschreibung der übereinstimmenden Zeichenfolge angezeigt.

Rekursive Suche mit grepBefehl

Die -rOption sucht nach allen Dateien in einem Verzeichnis und all seinen Unterverzeichnissen, die dem vom Benutzer im Befehl angegebenen Zeichenfolgenmuster entsprechen.

Syntax :

grep -i -r [string] [file_path]

Beispiel :

grep -i -r tomcat /home/gaurav/workspace

Die Zeichenfolge hier ist 'tomcat' und wird im Verzeichnis-Arbeitsbereich gesucht. Alle Unterverzeichnisse und Dateien im Verzeichnis 'workspace' werden ebenfalls gescannt, um dem bereitgestellten Zeichenfolgenmuster zu entsprechen.

Ausgabe :

./context_log.policy:// catalina.policy - Security Policy Permissions for Tomcat 7
./context_log.policy:// Note: If tomcat-juli.jar is in ${catalina.base} and not in ${catalina.home},
./context_log.policy://  grant codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..}
./context_log.policy:grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
./context_log.policy:    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.websocket.server";
./context.xml:    
./catalina.properties:# - Tomcat Bootstrap JARs
./catalina.properties:# - Tomcat API JARs
./catalina.properties:# - Tomcat JARs
./catalina.properties:# - Common non-Tomcat JARs
./catalina.properties:org.apache.catalina.startup.TldConfig.jarsToSkip=tomcat7-websocket.jar
./catalina.properties:tomcat.util.buf.StringCache.byte.enabled=true
./catalina.properties:#tomcat.util.buf.StringCache.char.enabled=true
./catalina.properties:#tomcat.util.buf.StringCache.trainThreshold=500000
./catalina.properties:#tomcat.util.buf.StringCache.cacheSize=5000
./server.xml:              pathname="conf/tomcat-users.xml" />
./server.xml:    
./tomcat-users.xml:  
./tomcat-users.xml:
./web.xml:  
./web.xml:  

HINWEIS : Bei der Verwendung der -rOption mit dem grepBefehl müssen wir den Pfad der Datei und nicht den Dateinamen angeben

Suche nach ganzen Wörtern nur mit grepBefehl

Oftmals ist es der Fall, dass Sie nach einem Wort suchen, aber Ihr Terminal mit den passenden Zeilen füllen, die Ihr passendes Wort enthalten, aber nicht als einzelnes Wort. Möglicherweise sehen Sie die Zeilen, die einige Wörter enthalten, deren Unterteil die von Ihnen eingegebene Zeichenfolge ist.

Verwechselt damit? Keine Sorge, es ist viel einfacher zu verstehen, wenn Sie das Beispiel erhalten.

Beispiel :

Hier möchte ich nach einem einzelnen Wort 'Warenkorb' suchen und alle zu diesem Wort passenden Zeilen in der Datei 'sample.txt' anzeigen.

grep -i cart sample.txt

Ausgabe :

Cartesian coordinates
importance of all the Cartesian coordinates.
use of a bullock cart is a common sight in the village for the agrarian chores
The cart went missing as the boy left it loose.

In der Ausgabe können Sie beobachten, dass das Wort 'Kartesisch' auch das Wort 'Warenkorb' enthält und somit auch die Zeilen mit dem Wort 'Kartesisch' angezeigt werden, obwohl wir sie nicht anzeigen wollen.

Sie können die -wOption mit dem grepBefehl verwenden, um diese Mehrdeutigkeit zu lösen.

Syntax :

grep -i -w [string] [filename]

Beispiel :

grep -i -w cart sample.txt

Ausgabe :

use of a bullock cart is a common sight in the village for the agrarian chores.
The cart went missing as the boy left it loose.

Wenn Sie nun die wOption – mit verwendet haben, erhalten grepSie nur die Zeilen, in denen das Wort 'Warenkorb' als Ganzes verwendet wird.

Invertierte Suche mit grepBefehl

grepDer Befehl kann auch umgekehrt verwendet werden. Wir können den grepBefehl umgekehrt verwenden, indem wir die übereinstimmenden Zeilen ausblenden und nur die Zeilen anzeigen, in denen die Übereinstimmung nicht gefunden wird. Sie können dies mit der -vOption mit dem grepBefehl tun .

Syntax :

grep -i -v [string] [filename]

Beispiel :

grep -i -v resource sample.txt

Ausgabe :

INDIA IS A BEAUTIFUL COUNTRY OF PEACE LOVING PEOPLE.
india stands on three pillars of legislature, executive and judiciary.
India Is a Beautiful Country Of Peace Loving People.
cartesian coordinates
importance of all th cartesian coordinates.




use of a bullock cart is a common sight in the village for the agrarian chores.
This is the end of the sample file.

In der Ausgabe werden alle anderen Zeilen angezeigt, außer der Zeile, die das Wort 'Ressource' enthält.

Zählen des Vorkommens der übereinstimmenden Zeichenfolge

Die Ausgabe des grepBefehls ist normalerweise sehr lang, wenn die Daten in der Datei umfangreich sind. Je mehr Übereinstimmungen, desto länger sind die Ausgaben des grepBefehls. Linux bietet Ihnen eine Option, mit der Sie die Anzahl der Vorkommen der Übereinstimmung anzeigen können.

Syntax :

grep -i -c [string] [filename]

Beispiel :

grep -i -c india sample.txt

Ausgabe :

[email protected]:~/workspace$ grep -i -c india sample.txt
4
[email protected]:~/workspace$

Hier ist die Ausgabe eine Zahl, die der Häufigkeit des Vorkommens des Wortes 'India' in der Datei sample.txt entspricht.

HINWEIS : Ich habe die -iOption in jedem Beispiel verwendet, um bei der Groß-/Kleinschreibung auf Nummer sicher zu gehen. Falls Sie sich bei der Groß-/Kleinschreibung des gesuchten Wortes sicher sind, können Sie die -i Option getrost weglassen .

Abschluss

grepIn diesem Tutorial haben wir die grundlegende Verwendung des Befehls auf Linux-Systemen kennengelernt. Wir haben auch gelernt, verschiedene Inhalte anzuzeigen, die unseren Anforderungen am besten entsprechen, und das Terminal nicht mit vielen Warteschlangen zu überfüllen. grepBefehl wird sicherlich zeitsparend sein, wenn er zum Scannen großer Datensätze verwendet wird.

Tags: #grep

Kopieren und Einfügen auf Chromebook

Kopieren und Einfügen auf Chromebook

Das erste, was Sie sich beim Wechsel zu einem Chromebook vielleicht fragen werden, ist, wie Sie die grundlegenden Dinge erledigen - die Art von Dingen, die Sie in Ihrem vorherigen Betriebssystem auf der Rückseite hatten. Kopieren und Einfügen ist eine dieser grundlegenden Funktionen, die Sie an der einen oder anderen Stelle verwenden müssen.

So machen Sie einen Schreibtest unter Linux mit tt

So machen Sie einen Schreibtest unter Linux mit tt

In der modernen Ära der Technologie ist das Tippen zu einer der häufigsten Tätigkeiten für viele Berufe geworden. Wenn Sie lernen, schneller und genauer zu tippen, können Sie mehr Dinge in der gleichen Zeit erledigen.

WLAN funktioniert nicht unter Ubuntu? So beheben Sie es

WLAN funktioniert nicht unter Ubuntu? So beheben Sie es

Ubuntu ist beliebt für seine Robustheit und relativ weniger Fehler. Aber es ist sicher nicht ohne Probleme. Ein solches Problem ist mit seinem Wi-Fi-Treiber. Möglicherweise schalten Sie Ihr System nur ein, um festzustellen, dass Ihr Wi-Fi nicht funktioniert.

So erstellen und scannen Sie QR-Codes auf Chromebook

So erstellen und scannen Sie QR-Codes auf Chromebook

Quick Response Codes, kurz QR-Codes, sind fortschrittliche Barcodes, die mehr Informationen enthalten als ein herkömmlicher Barcode. Diese Codes sind zweidimensional, sodass Sie sie vertikal oder horizontal scannen können.

So installieren und entfernen Sie Pakete in Arch Linux

So installieren und entfernen Sie Pakete in Arch Linux

Sie möchten Pakete unter Arch Linux installieren, wissen aber nicht wie? Viele Leute stehen vor diesem Problem, wenn sie zum ersten Mal von Debian-basierten Distributionen zu Arch migrieren. Sie können Pakete auf Ihrem Arch-basierten System jedoch problemlos mithilfe von Paketmanagern verwalten.

So installieren Sie Spotify unter Linux

So installieren Sie Spotify unter Linux

Spotify ist einer der größten Musik-Streaming-Dienste auf dem Markt. Es verfügt über native Clients sowohl für mobile (Android und iOS) als auch für Desktop-Geräte (Mac und Windows).

9 grundlegende Befehle für den Einstieg in Linux

9 grundlegende Befehle für den Einstieg in Linux

In Linux-Anleitungen wird oft erwartet, dass Sie bestimmte Operationen im Terminal ausführen, was auf den ersten Blick einschüchternd wirken kann. Aber keine Sorge; Dieser Spickzettel für Linux-Befehle behandelt das Öffnen eines Terminals und das Ausgeben einiger nützlicher Befehle.

So verschieben Sie Linux-Dateien mit dem Mv-Befehl

So verschieben Sie Linux-Dateien mit dem Mv-Befehl

Während Sie wahrscheinlich bereits wissen, wie Sie eine Datei unter Linux mit dem GUI-Dateibrowser verschieben, fragen Sie sich vielleicht, ob es im Terminal einen Verschiebebefehl gibt, mit dem Sie Dateien schnell in verschiedene Verzeichnisse verschieben können. Der mv-Befehl ist der gewünschte und mit seiner einfachen Syntax und einigen optionalen Sicherheitsflags einfach zu verwenden.

Die 15 besten Themen für Ubuntu 20.04 im Jahr 2020

Die 15 besten Themen für Ubuntu 20.04 im Jahr 2020

Viele neue aktualisierte Designs können auf dem neuen GNOME-Desktop von Ubuntu 20.04 installiert werden. Hier ist eine Liste der besten Ubuntu-Themes im Jahr 2020

Die 10 besten Debian-basierten Linux-Distributionen

Die 10 besten Debian-basierten Linux-Distributionen

Das Standard-Debian und sein beliebter Ableger Ubuntu sind großartige Allround-Optionen für ein Linux-System, aber wenn Sie speziellere Bedürfnisse haben, möchten Sie vielleicht eine Debian-Alternative.