Heim Betrieb und Instandhaltung Betrieb und Wartung von Linux Eine kurze Einführung in Linux grep und reguläre Ausdrücke

Eine kurze Einführung in Linux grep und reguläre Ausdrücke

Sep 21, 2017 am 11:47 AM
grep linux 表达式

grep ist ein leistungsstarkes Textsuchtool, das reguläre Ausdrücke zum Durchsuchen von Text verwendet und passende Zeilen ausgibt. Lassen Sie mich in diesem Artikel Ihr Wissen über Linux grep und reguläre Ausdrücke teilen. Interessierte Freunde sollten gemeinsam einen Blick darauf werfen

Einführung in grep

grep ist ein leistungsstarkes Textsuchtool, das reguläre Ausdrücke zum Durchsuchen von Text verwendet und passende Zeilen ausgibt. Normalerweise gibt es drei Versionen von grep: grep, egrep (entspricht grep -E) und fgrep. egrep ist erweitertes grep und fgrep ist schnelles grep (feste Zeichenfolge zum Durchsuchen von Text, unterstützt keine Verweise auf reguläre Ausdrücke, aber die Abfrage ist extrem schnell). grep ist einer der drei Musketiere der Linux-Textverarbeitung.

So verwenden Sie grep

So verwenden Sie:


grep [OPTIONS] PATTERN [FILE...]
Nach dem Login kopieren


grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
Nach dem Login kopieren

Allgemeine Optionen:

--color=auto: Färben Sie den übereinstimmenden Text und markieren Sie ihn

-i: Groß- und Kleinschreibung ignorieren

-o: Nur übereinstimmende Zeichenfolgen anzeigen

-v: Zeilen anzeigen, die nicht mit dem Muster übereinstimmen können

-E: Unterstützt die Verwendung erweiterter regulärer Ausdrücke

 -q: Stiller Modus, d. h. es werden keine Informationen ausgegeben

 -A #: Zeigt die mit dem Muster übereinstimmenden Zeilen und die folgenden # Zeilen an

-B #: Zeigt die an Zeilen, die mit dem Muster übereinstimmen, und die # Zeilen davor und danach

-C #: Zeigt die Zeilen an, die mit dem Muster übereinstimmen, und die # Zeilen davor und danach

Hinweis: Bei der Verwendung sind doppelte Anführungszeichen erforderlich grep, das mit Anführungszeichen übereinstimmt (einfache Anführungszeichen sind starke Anführungszeichen), um zu verhindern, dass das System es mit Parametern oder speziellen Befehlen verwechselt und einen Fehler meldet. - i: Groß-/Kleinschreibung von Zeichen ignorieren

-o: Nur die übereinstimmende Zeichenfolge selbst anzeigen

-v: Zeilen anzeigen, die nicht mit dem Muster übereinstimmen -q: Stiller Modus, d. h. es werden keine Informationen angezeigt Ausgabe -A #: Zeigt die mit dem Muster übereinstimmenden Zeilen und # Zeilen danach an -B #: Zeigt die mit dem Muster übereinstimmenden Zeilen und die # Zeilen davor an -C #: Zeigt die Zeilen an übereinstimmend mit dem Muster und ihren # Zeilen # Zeilen davor und danach

-G: Unterstützt grundlegende reguläre Ausdrücke


grep-Metazeichen für reguläre Ausdrücke

egrep [OPTIONS] PATTERN [FILE...]
grep -E [OPTIONS] PATTERN [FILE...]
Nach dem Login kopieren


'^': Anker '$': Verankern Sie das Ende der Zeile

'.': Entspricht einem beliebigen Zeichen

'*': Entspricht null oder mehr vorherigen Zeichen. Zeichen

'?': Übereinstimmung mit dem Zeichen davor 0 oder 1 Mal;

'+': Übereinstimmung mit dem Zeichen davor 1 oder mehrmals; das Zeichen davor m-mal (für Escape-Zeichen) '{m,n}': Entspricht dem Zeichen davor mindestens m-mal und höchstens n-mal '[]': Entspricht einem Zeichen innerhalb des angegebenen Bereichs. „[^]“ entspricht einem beliebigen einzelnen Zeichen außerhalb des angegebenen Bereichs ': Ende des Ankerworts (verfügbar : Übereinstimmung mit vollständigen Wörtern)

'()': Mehrere Zeichen als Ganzes behandeln

Rückverweis: Anführungszeichen Die Zeichen, die mit dem Muster in übereinstimmen vorherige Gruppierungsklammern

Der Inhalt, der mit dem Muster in den Gruppierungsklammern übereinstimmt, kann von der Engine für reguläre Ausdrücke automatisch in internen Variablen aufgezeichnet werden:

1: Muster Von links beginnend, der Inhalt, mit dem übereinstimmt das Muster zwischen der ersten linken Klammer und der passenden rechten Klammer

2: Das Muster beginnt von links, der zweiten linken Klammer und der passenden rechten Klammer. Der durch das Muster übereinstimmende Inhalt...

Erweiterte reguläre Ausdrücke unterscheiden sich geringfügig von regulären Ausdrücken:

'[]': stimmt immer noch mit jedem einzelnen Zeichen innerhalb des angegebenen Bereichs überein, es gibt jedoch viele spezielle Übereinstimmungsmethoden.

[: Ziffer:] Übereinstimmung mit jedem einzelnen Ziffer

[: Unter:] Übereinstimmung mit jedem einzelnen Kleinbuchstaben [: obere:] Übereinstimmung mit jedem einzelnen Großbuchstaben

[: Alpha :] entspricht jedem einzelnen Buchstaben

 [:alnum:] entspricht jedem einzelnen Buchstaben oder jeder einzelnen Zahl

 [:punct:] entspricht jedem einzelnen Symbol

[:space:] entspricht ein einzelnes Leerzeichen

An einigen Stellen wird die Verwendung von Escape-Zeichen aufgehoben:

'?': Entspricht dem vorhergehenden Zeichen 0 oder 1 Mal;

'+': Entspricht dem Zeichen davor 1 oder mehrmals;

'{m}': Entspricht dem Zeichen davor m-mal (für Escape-Zeichen)

'{m ,n}': Entspricht dem vorhergehenden Zeichen bei mindestens m-mal und höchstens n-mal

 (): Bündeln Sie ein oder mehrere Zeichen und verarbeiten Sie sie als Ganzes. Rückreferenzen werden wie gewohnt verwendet.

 |': oder (Hinweis: 'C|cat' bedeutet C und Katze, '(C|c)at ist Katze und Katze')

Übungsfragen :

1. Listen Sie die Benutzernamen aller angemeldeten Benutzer auf dem aktuellen System auf. Hinweis: Wenn sich derselbe Benutzer mehrmals anmeldet, wird er nur einmal angezeigt

[root@localhost ~]# who | cut -d' ' -f1|uniq
root
Nach dem Login kopieren

  2、取出最后登录到当前系统的用户的相关信息


[root@localhost ~]# id `last | head -1 | cut -d' ' -f1`
uid=0(root) gid=0(root) groups=0(root)
Nach dem Login kopieren

  3.取出当前系统上被用户当做其默认shell最多的那个shell


[root@localhost ~]# cut -d':' -f7 /etc/passwd|uniq -c|sort -n|tail -1|cut -d' ' -f7
/sbin/nologin
Nach dem Login kopieren

  4.将/etc/passd中的第三个字段设置最大的后10个用户的信息全部改为大写保存至/tmp/maxuser.txt文件中


[root@localhost ~]# sort -t':' -k3 -n /etc/passwd|tail -10|tr 'a-z' 'A-Z' >/tmp/maxusers.txt
[root@localhost ~]# cat /tmp/maxusers.txt 
NOBODY:X:99:99:NOBODY:/:/SBIN/NOLOGIN
SYSTEMD-NETWORK:X:192:192:SYSTEMD NETWORK MANAGEMENT:/:/SBIN/NOLOGIN
NGINX:X:996:994:NGINX WEB SERVER:/VAR/LIB/NGINX:/SBIN/NOLOGIN
CHRONY:X:997:995::/VAR/LIB/CHRONY:/SBIN/NOLOGIN
POLKITD:X:998:996:USER FOR POLKITD:/:/SBIN/NOLOGIN
SYSTEMD-BUS-PROXY:X:999:997:SYSTEMD BUS PROXY:/:/SBIN/NOLOGIN
DINGJIE:X:1000:1000:DINGJIE:/HOME/DINGJIE:/BIN/BASH
JEFF:X:1001:1024:WOSHIDASHUAIBI:/HOME/JEFF:/BIN/BASH
EGON:X:1002:1002::/HOME/EGON:/BIN/BASH
NFSNOBODY:X:65534:65534:ANONYMOUS NFS USER:/VAR/LIB/NFS:/SBIN/NOLOGIN
Nach dem Login kopieren

  5.取出当前主机的IP地址


[root@localhost ~]# ifconfig | egrep "inet.*broadcast.*"|cut -d' ' -f10
192.168.0.133
Nach dem Login kopieren

  6.列出/etc目录下所有已.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中


[root@localhost ~]# find /etc -name '*.conf' | egrep -o "[^/]*(\.conf)$"|tr 'a-z' 'A-Z' >/tmp/etc.conf
[root@localhost ~]# cat /tmp/etc.conf 
RESOLV.CONF
CA-LEGACY.CONF
FASTESTMIRROR.CONF
LANGPACKS.CONF
SYSTEMD.CONF
VERSION-GROUPS.CONF
LVM.CONF
LVMLOCAL.CONF
ASOUND.CONF
LDAP.CONF
MLX4.CONF
RDMA.CONF
SMTPD.CONF
Nach dem Login kopieren

  7.显示/var目录下一级子目录或文件的总数


[root@localhost ~]# ls /var | wc -l
Nach dem Login kopieren

  8.取出/etc/group第三个字段数值最小的10个组的名字


[root@localhost ~]# sort -t: -k3 -n /etc/group|head -10 |cut -d':' -f1
root
bin
daemon
sys
adm
tty
disk
lp
mem
kmem
Nach dem Login kopieren

  9.将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中


[root@localhost ~]# cat /etc/fstab /etc/issue > /tmp/etc.test
[root@localhost ~]# cat /tmp/etc.test 
#
# /etc/fstab
# Created by anaconda on Sat May 13 10:12:58 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/cl-root   /            xfs   defaults    0 0
UUID=2789d01a-4e2b-47a5-9c3c-537641648663 /boot          xfs   defaults    0 0
/dev/mapper/cl-swap   swap          swap  defaults    0 0
\S
Kernel \r on an \m
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonEine kurze Einführung in Linux grep und reguläre Ausdrücke. 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)

Welche Computerkonfiguration ist für VSCODE erforderlich? Welche Computerkonfiguration ist für VSCODE erforderlich? Apr 15, 2025 pm 09:48 PM

VS Code system requirements: Operating system: Windows 10 and above, macOS 10.12 and above, Linux distribution processor: minimum 1.6 GHz, recommended 2.0 GHz and above memory: minimum 512 MB, recommended 4 GB and above storage space: minimum 250 MB, recommended 1 GB and above other requirements: stable network connection, Xorg/Wayland (Linux)

VSCODE kann die Erweiterung nicht installieren VSCODE kann die Erweiterung nicht installieren Apr 15, 2025 pm 07:18 PM

Die Gründe für die Installation von VS -Code -Erweiterungen können sein: Netzwerkinstabilität, unzureichende Berechtigungen, Systemkompatibilitätsprobleme, VS -Code -Version ist zu alt, Antiviren -Software oder Firewall -Interferenz. Durch Überprüfen von Netzwerkverbindungen, Berechtigungen, Protokolldateien, Aktualisierungen von VS -Code, Deaktivieren von Sicherheitssoftware und Neustart von Code oder Computern können Sie Probleme schrittweise beheben und beheben.

So führen Sie Java -Code in Notepad aus So führen Sie Java -Code in Notepad aus Apr 16, 2025 pm 07:39 PM

Obwohl Notepad den Java -Code nicht direkt ausführen kann, kann er durch Verwendung anderer Tools erreicht werden: Verwenden des Befehlszeilencompilers (JAVAC), um eine Bytecode -Datei (Dateiname.class) zu generieren. Verwenden Sie den Java Interpreter (Java), um Bytecode zu interpretieren, den Code auszuführen und das Ergebnis auszugeben.

Kann VSCODE für MAC verwendet werden Kann VSCODE für MAC verwendet werden Apr 15, 2025 pm 07:36 PM

VS -Code ist auf Mac verfügbar. Es verfügt über leistungsstarke Erweiterungen, GIT -Integration, Terminal und Debugger und bietet auch eine Fülle von Setup -Optionen. Für besonders große Projekte oder hoch berufliche Entwicklung kann VS -Code jedoch Leistung oder funktionale Einschränkungen aufweisen.

Wofür ist VSCODE Wofür ist VSCODE? Wofür ist VSCODE Wofür ist VSCODE? Apr 15, 2025 pm 06:45 PM

VS Code ist der vollständige Name Visual Studio Code, der eine kostenlose und open-Source-plattformübergreifende Code-Editor und Entwicklungsumgebung von Microsoft ist. Es unterstützt eine breite Palette von Programmiersprachen und bietet Syntax -Hervorhebung, automatische Codebettel, Code -Snippets und intelligente Eingabeaufforderungen zur Verbesserung der Entwicklungseffizienz. Durch ein reiches Erweiterungs -Ökosystem können Benutzer bestimmte Bedürfnisse und Sprachen wie Debugger, Code -Formatierungs -Tools und Git -Integrationen erweitern. VS -Code enthält auch einen intuitiven Debugger, mit dem Fehler in Ihrem Code schnell gefunden und behoben werden können.

So verwenden Sie VSCODE So verwenden Sie VSCODE Apr 15, 2025 pm 11:21 PM

Visual Studio Code (VSCODE) ist ein plattformübergreifender, Open-Source-Editor und kostenloser Code-Editor, der von Microsoft entwickelt wurde. Es ist bekannt für seine leichte, Skalierbarkeit und Unterstützung für eine Vielzahl von Programmiersprachen. Um VSCODE zu installieren, besuchen Sie bitte die offizielle Website, um das Installateur herunterzuladen und auszuführen. Bei der Verwendung von VSCODE können Sie neue Projekte erstellen, Code bearbeiten, Code bearbeiten, Projekte navigieren, VSCODE erweitern und Einstellungen verwalten. VSCODE ist für Windows, MacOS und Linux verfügbar, unterstützt mehrere Programmiersprachen und bietet verschiedene Erweiterungen über den Marktplatz. Zu den Vorteilen zählen leicht, Skalierbarkeit, umfangreiche Sprachunterstützung, umfangreiche Funktionen und Versionen

Was ist der Hauptzweck von Linux? Was ist der Hauptzweck von Linux? Apr 16, 2025 am 12:19 AM

Zu den Hauptanwendungen von Linux gehören: 1. Server -Betriebssystem, 2. Eingebettes System, 3. Desktop -Betriebssystem, 4. Entwicklungs- und Testumgebung. Linux zeichnet sich in diesen Bereichen aus und bietet Stabilität, Sicherheits- und effiziente Entwicklungstools.

So überprüfen Sie die Lageradresse von Git So überprüfen Sie die Lageradresse von Git Apr 17, 2025 pm 01:54 PM

Um die Git -Repository -Adresse anzuzeigen, führen Sie die folgenden Schritte aus: 1. Öffnen Sie die Befehlszeile und navigieren Sie zum Repository -Verzeichnis; 2. Führen Sie den Befehl "git remote -v" aus; 3.. Zeigen Sie den Repository -Namen in der Ausgabe und der entsprechenden Adresse an.

See all articles