Heim Betrieb und Instandhaltung Betrieb und Wartung von Linux Shell-Programmierung – wie verwende ich den grep-Befehl?

Shell-Programmierung – wie verwende ich den grep-Befehl?

Jun 20, 2017 am 11:12 AM
grep shell 使用 命令 编程

Bevor Sie reguläre Ausdrücke lernen, müssen Sie es zunächst klarstellen und im Hinterkopf behalten, das heißt:

Unter Linux werden Wildcards interpretiert durch die Shell, während reguläre Ausdrücke vom Befehl interpretiert werden. Verwechseln Sie die beiden nicht. Erinnern! ! !

Normalerweise gibt es drei Textverarbeitungswerkzeuge/-befehle: grep, sed und awk, die alle drei reguläre Ausdrücke interpretieren können. Im Folgenden werde ich Ihnen die Verwendung des grep-Befehls vorstellen.

1. Verwenden Sie den grep-Befehl, um den Inhalt in der Datei zu durchsuchen

Die Befehle grep und egrep können im Inhalt einer oder mehrerer Dateien nach einem bestimmten Zeichenmuster, auch reguläre Ausdrücke genannt, suchen. Ein Muster kann ein einzelnes Zeichen, eine Zeichenfolge, ein Wort oder ein Satz sein.

Ein regulärer Ausdruck ist ein Muster, das eine Reihe von Zeichenfolgen beschreibt. Die Konstruktion regulärer Ausdrücke orientiert sich an mathematischen Ausdrücken, indem Operatoren verwendet werden, um kleinere Ausdrücke zu einem neuen Ausdruck zu kombinieren. Ein regulärer Ausdruck kann entweder aus einfachen Textliteralen oder aus Sonderzeichen bestehen, die zum Generieren von Mustern verwendet werden. Um ein Suchmuster weiter zu definieren, unterstützt der Befehl grep die folgenden Metazeichen für reguläre Ausdrücke, auch Platzhalter genannt.

ps: Die Sprache für reguläre Ausdrücke besteht aus zwei grundlegenden Zeichentypen: wörtliche (normale) Textzeichen und Metazeichen. Metazeichen verleihen regulären Ausdrücken Rechenleistung. Die sogenannten Metazeichen beziehen sich auf Sonderzeichen mit besonderer Bedeutung in regulären Ausdrücken, mit denen das Erscheinungsmuster ihrer führenden Zeichen (also der Zeichen vor den Metazeichen) im Zielobjekt angegeben werden kann.

c*: Entspricht 0 oder mehr Zeichen c

.: Entspricht jedem und nur einem Zeichen (Zeilenumbruch (außer Zeichen)

[xyz]: entspricht jedem Zeichen in eckigen Klammern

[^xyz]: entspricht jedem Zeichen ohne eckige Klammern Alle Zeichen in Klammern

^: sperrt den Zeilenanfang

$: sperrt das Zeilenende

In einfachen regulären Ausdrücken haben Metazeichen wie *, +, {}, | und () ihre ursprüngliche Bedeutung verloren. Wenn Sie ihre ursprüngliche Bedeutung wiederherstellen möchten, muss ihnen ein Backslash vorangestellt werden, z. , + usw.

Der grep-Befehl wird verwendet, um in jeder Datei oder in der Standardausgabe nach einem bestimmten Muster zu suchen. Bei Verwendung des grep-Befehls wird jede Zeile, die ein bestimmtes Zeichenmuster enthält, auf dem Bildschirm gedruckt. Das Syntaxformat des grep-Befehls lautet wie folgt:

grep-Optionsmusterdatei name

Unter diesen können Optionen die Suchmethode des grep-Befehls ändern. Mit Ausnahme der Option -w kann jede andere Option in den Befehlen egrep und fgrep verwendet werden. Allgemeine Optionen für den grep-Befehl sind wie folgt:

-c (count): Nur die Anzahl der Zeilen auflisten, die das Muster enthalten

- i (ignorieren): Groß-/Kleinschreibung von Buchstaben im Muster ignorieren

-l (Liste): Dateinamen mit übereinstimmenden Zeilen auflisten

- n: match Listen Sie die Zeilennummer vor der Zeile auf

-v: Listen Sie die Zeilen auf, die nicht mit dem Muster übereinstimmen (umgekehrt)

-w: Den Ausdruck ändern. Die Formel wird als vollständiges Wort durchsucht und die teilweise übereinstimmenden Zeilen werden ignoriert.

-q: Silent-Modus, keine Ausgabe, Sie müssen $ verwenden ? um festzustellen, ob die Ausführung erfolgreich ist, d Zeilen zusammen

-B n: Wenn die Übereinstimmung erfolgreich ist, drucken Sie die passende Zeile und die n Zeilen davor und danach zusammen aus

- C n: Wenn die Übereinstimmung erfolgreich ist, drucken Sie die übereinstimmende Zeile und die n Zeilen davor und danach zusammen. Drucken Sie sie aus

ps: Wenn mehrere Dateien durchsucht werden, werden die Ergebnisse des grep Der Befehl zeigt nur die Dateinamen an, die mit dem in der Datei gefundenen Muster übereinstimmen.

Wenn Sie eine einzelne Datei durchsuchen, zeigen die Ergebnisse des Befehls grep jede Zeile an, die ein übereinstimmendes Muster enthält.

Das Obige ist die grundlegende Methode zur Verwendung des grep-Befehls. Aber manchmal kann ein einfacher regulärer Ausdruck den zu durchsuchenden Inhalt nicht finden. Wenn Sie nach Datenzeilen suchen möchten, die sowohl Modus 1 als auch Modus 2 erfüllen, kann der Befehl egrep hilfreich sein.

Das Syntaxformat des Befehls egrep ist das gleiche wie der Befehl grep. Der Befehl egrep wird jedoch verwendet, um mithilfe der Metazeichen erweiterter regulärer Ausdrücke nach einem bestimmten Muster im Inhalt einer oder mehrerer Dateien zu suchen. Die erweiterten Metazeichen für reguläre Ausdrücke umfassen die im grep-Befehl verwendeten Metazeichen für reguläre Ausdrücke und fügen außerdem einige zusätzliche Metazeichen hinzu, etwa die folgenden:

+: Entspricht einem oder mehreren führenden Zeichen

a|b: Übereinstimmung mit a oder b

(RE): Übereinstimmung mit dem regulären Ausdruck in Klammern Ausdruck RE

Im Folgenden werde ich einige grundlegende Beispiele verwenden, um Ihr Verständnis für die Verwendung der Befehle grep und egrep zu verbessern. Da alle Optionen egrep im grep-Befehl verwendet werden können (egrep ist leistungsfähiger), werde ich der Einfachheit halber den egrep-Befehl verwenden, um für alle zu demonstrieren:

Beispiel 1: Zeigen Sie an, dass die Datei /etc/ passwd Stammzeilen enthält

Beispiel 2: /etc ausgeben Jede Zeile, die bash in /passwd enthält, sollte auch den Inhalt der beiden Zeilen über und unter der Zeile

ausgeben

Beispiel 3: Zeigen Sie an, wie viele Zeilen in /etc/passwd nologin enthalten

Beispiel 4: Zeigen Sie die Zeilen in /etc/passwd an, die root enthalten, und geben Sie die Zeilennummern zusammen aus

Beispiel 5:

Neue Benutzer abscheulich, abscheulich, anomie , atomisieren, reguläre Ausdrücke schreiben, die ihnen entsprechen

Beispiel 6 : Neue Benutzer erstellen Alex213sb, Wpq2222b, yH438PIG, egon666, egonFiltern Sie die Zeilen heraus, in denen der Benutzername aus Buchstaben+Zahlen+Buchstaben besteht

Beispiel 7: Alle Dateinamen anzeigen, die root im Verzeichnis /etc enthalten

Beispiel 8: Alle Kommentare und alle Leerzeilen in /etc/ssh/sshd_config herausfiltern

Solange Sie fleißig üben, werden Sie es tun Seien Sie sehr schnell. Sie werden die Verwendung des grep-Befehls beherrschen^^

Das obige ist der detaillierte Inhalt vonShell-Programmierung – wie verwende ich den grep-Befehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

BTCC-Tutorial: Wie kann ich die MetaMask-Wallet an der BTCC-Börse binden und verwenden? BTCC-Tutorial: Wie kann ich die MetaMask-Wallet an der BTCC-Börse binden und verwenden? Apr 26, 2024 am 09:40 AM

MetaMask (auf Chinesisch auch Little Fox Wallet genannt) ist eine kostenlose und beliebte Verschlüsselungs-Wallet-Software. Derzeit unterstützt BTCC die Bindung an die MetaMask-Wallet. Nach der Bindung können Sie sich mit der MetaMask-Wallet schnell anmelden, Werte speichern, Münzen kaufen usw. und bei der erstmaligen Bindung einen Testbonus von 20 USDT erhalten. Im BTCCMetaMask-Wallet-Tutorial stellen wir detailliert vor, wie man MetaMask registriert und verwendet und wie man das Little Fox-Wallet in BTCC bindet und verwendet. Was ist die MetaMask-Wallet? Mit über 30 Millionen Nutzern ist MetaMask Little Fox Wallet heute eines der beliebtesten Kryptowährungs-Wallets. Die Nutzung ist kostenlos und kann als Erweiterung im Netzwerk installiert werden

Wie lösche ich Win11-Widgets? Ein Befehl zum Deinstallieren von Windows 11-Widgets – Funktionstipps Wie lösche ich Win11-Widgets? Ein Befehl zum Deinstallieren von Windows 11-Widgets – Funktionstipps Apr 11, 2024 pm 05:19 PM

Widgets sind eine neue Funktion des Win11-Systems. Es ist jedoch unvermeidlich, dass einige Benutzer Widgets nicht häufig verwenden, weil sie Speicherplatz beanspruchen. Der untenstehende Editor zeigt Ihnen die Bedienung und Sie können es ausprobieren. Was sind Widgets? Widgets sind kleine Karten, die dynamische Inhalte Ihrer bevorzugten Apps und Dienste auf Ihrem Windows-Desktop anzeigen. Sie werden auf dem Widget-Board angezeigt, wo Sie Widgets entdecken, anheften, lösen, anordnen, in der Größe ändern und an Ihre Interessen anpassen können. Das Widget-Board ist für die Anzeige relevanter Widgets und personalisierter Inhalte basierend auf der Nutzung optimiert. Öffnen Sie das Widget-Panel in der linken Ecke der Taskleiste, wo Sie das Live-Wetter sehen können

Entfernen Sie doppelte Werte mithilfe regulärer Ausdrücke aus dem PHP-Array Entfernen Sie doppelte Werte mithilfe regulärer Ausdrücke aus dem PHP-Array Apr 26, 2024 pm 04:33 PM

So entfernen Sie doppelte Werte mithilfe regulärer Ausdrücke aus einem PHP-Array: Verwenden Sie den regulären Ausdruck /(.*)(.+)/i, um Duplikate abzugleichen und zu ersetzen. Durchlaufen Sie die Array-Elemente und prüfen Sie mit preg_match, ob Übereinstimmungen vorliegen. Wenn es eine Übereinstimmung gibt, überspringen Sie den Wert; andernfalls fügen Sie ihn einem neuen Array ohne doppelte Werte hinzu.

Was ist Bitget Launchpool? Wie verwende ich Bitget Launchpool? Was ist Bitget Launchpool? Wie verwende ich Bitget Launchpool? Jun 07, 2024 pm 12:06 PM

BitgetLaunchpool ist eine dynamische Plattform, die für alle Kryptowährungsbegeisterten entwickelt wurde. BitgetLaunchpool zeichnet sich durch sein einzigartiges Angebot aus. Hier können Sie Ihre Token einsetzen, um weitere Belohnungen freizuschalten, darunter Airdrops, hohe Renditen und einen großzügigen Preispool, der nur frühen Teilnehmern vorbehalten ist. Was ist BitgetLaunchpool? BitgetLaunchpool ist eine Kryptowährungsplattform, auf der Token zu benutzerfreundlichen Bedingungen eingesetzt und verdient werden können. Durch die Investition von BGB oder anderen Token in Launchpool haben Benutzer die Möglichkeit, kostenlose Airdrops und Einnahmen zu erhalten und an großzügigen Bonuspools teilzunehmen. Die Einnahmen aus verpfändeten Vermögenswerten werden innerhalb von T+1 Stunden berechnet und die Belohnungen basieren darauf

Der Unterschied zwischen PHP-Funktionen und Shell-Funktionen Der Unterschied zwischen PHP-Funktionen und Shell-Funktionen Apr 24, 2024 pm 06:39 PM

Die Hauptunterschiede zwischen PHP-Funktionen und Shell-Funktionen sind Sicherheit (PHP-Funktionen sind sicherer), Zuverlässigkeit (Shell-Funktionen variieren je nach Betriebssystem), Funktionalität (Shell-Funktionen sind leistungsfähiger, aber durch die Shell eingeschränkt) und Leistung (PHP-Funktionen sind normalerweise sicherer). schneller) und Komplexität (Shell-Funktionen sind komplexer). Sie werden beide für Dateisystem-, Prozess- und Befehlsoperationen verwendet, PHP-Funktionen sind jedoch integriert, während Shell-Funktionen über eine externe Shell aufgerufen werden. Daher ist in Szenarien zum Herunterladen von Serverdateien die Funktion file_put_contents() sicherer, während der Befehl wget flexibler ist.

Wozu dient das Programmieren und welchen Nutzen hat es, es zu lernen? Wozu dient das Programmieren und welchen Nutzen hat es, es zu lernen? Apr 28, 2024 pm 01:34 PM

1. Mithilfe der Programmierung können verschiedene Software- und Anwendungsprogramme entwickelt werden, darunter Websites, mobile Anwendungen, Spiele und Datenanalysetools. Seine Anwendungsbereiche sind sehr breit gefächert und decken nahezu alle Branchen ab, darunter wissenschaftliche Forschung, Gesundheitswesen, Finanzen, Bildung, Unterhaltung usw. 2. Das Erlernen des Programmierens kann uns helfen, unsere Fähigkeiten zur Problemlösung und unser logisches Denkvermögen zu verbessern. Beim Programmieren müssen wir Probleme analysieren und verstehen, Lösungen finden und diese in Code übersetzen. Diese Denkweise kann unsere analytischen und abstrakten Fähigkeiten fördern und unsere Fähigkeit verbessern, praktische Probleme zu lösen.

Problemlösung mit Python: Erschließen Sie leistungsstarke Lösungen als Programmieranfänger Problemlösung mit Python: Erschließen Sie leistungsstarke Lösungen als Programmieranfänger Oct 11, 2024 pm 08:58 PM

Python unterstützt Anfänger bei der Problemlösung. Seine benutzerfreundliche Syntax, umfangreiche Bibliothek und Funktionen wie Variablen, bedingte Anweisungen und Schleifen ermöglichen eine effiziente Codeentwicklung. Von der Datenverwaltung über die Steuerung des Programmablaufs bis hin zur Ausführung wiederkehrender Aufgaben bietet Python

Sammlung von C++-Programmierrätseln: Regen Sie das Denken an und verbessern Sie Ihre Programmierkenntnisse Sammlung von C++-Programmierrätseln: Regen Sie das Denken an und verbessern Sie Ihre Programmierkenntnisse Jun 01, 2024 pm 10:26 PM

C++-Programmierrätsel behandeln Algorithmen- und Datenstrukturkonzepte wie Fibonacci-Folge, Fakultät, Hamming-Distanz, Maximal- und Minimalwerte von Arrays usw. Durch das Lösen dieser Rätsel können Sie Ihre C++-Kenntnisse festigen und das Algorithmusverständnis und die Programmierkenntnisse verbessern.

See all articles