Linux-Entwickler folgen der Philosophie, kleine Programme zu erstellen, die eine Aufgabe erledigen und diese gut erledigen. Nehmen Sie als Beispiel Linux-Textverarbeitungstools, sie sind leichtgewichtig und haben eine modulare Funktionalität. Obwohl sich diese Textbearbeitungswerkzeuge in Komplexität und Funktionalität unterscheiden, sind sie in einer Umgebung nützlich, in der die grafische Benutzeroberfläche nicht verfügbar ist.

Der Artikel behandelt die besten Linux-Tools zum Lesen von Dateien und zum Verwenden regulärer Ausdrücke zum Ausführen von Operationen am ausgewählten Text. Es behandelt auch die grundlegendsten Funktionen und Beispiele zum besseren Verständnis.

1. grep

grep ist ein Linux-Dienstprogramm zur Textbearbeitung, das in einer Datei oder einem Text nach einer Zeichenfolge oder Mustern sucht, die als reguläre Ausdrücke bekannt sind. Das Tool grep gehört zur Familie der Dienstprogramme, zu denen egrep, fgrep und grep gehören, von denen fgrep das schnellste und grep das einfachste ist.

instagram viewer

Die allgemeine Syntax für die Verwendung von grep lautet wie folgt:

grep -options Zeichenfolge Dateiname

Zum Beispiel, um nach dem Wort „Wurzel“ in zu suchen die /etc/passwd-Datei:

grep root /etc/passwd

Einige Standard-Befehlszeilenbeispiele für den Einstieg sind:

Optionen Beispiel Beschreibung
-C grep -c ./bashrc Zählen Sie die Anzahl der Zeilen, in denen die Zeichenfolge vorhanden ist
-ich grep -i ./bashrc Führt eine Suche ohne Berücksichtigung der Groß-/Kleinschreibung nach der angegebenen Zeichenfolge durch
grep -o Datei Druckt nur die übereinstimmende Zeichenfolge
-l grep -l "passwd" Druckt Dateinamen im aktuellen Verzeichnis, die dem Muster entsprechen
-n grep -n Datei Druckt die Zeilennummer entlang der Zeile, die die angegebene Zeichenfolge enthält
Zeichenfolge1|Zeichenfolge2 grep "string1|string2"-Datei Finden und drucken Sie mehrere Zeichenfolgen aus einer Datei

Ebenso können Sie die verwenden ^ metacharacter mit dem grep-Befehl, um alle übereinstimmenden Zeichenfolgen anzuzeigen, die mit bestimmten Zeichen beginnen.

Beispielsweise leitet der folgende Befehl die Ausgabe des Befehls env als Eingabe an grep weiter und zeigt Variablen an, die mit "HO":

env | grep ^HO

Verwandt: Praktische Beispiele der Linux-Grep-Befehle

2. ach

awk ist eine leistungsstarke Skriptsprache und ein Befehlszeilen-Textbearbeitungstool, das zeilenweise Scans durchführen und Zeilen mit Mustern vergleichen kann. Die grundlegende Syntax des awk-Befehls ist eine Aktion, die zwischen einem einfachen Anführungszeichen und geschweiften Klammern gefolgt vom Dateinamen definiert ist.

awk '{action}' Dateiname
awk '{Muster; action}' Dateiname

Das Dienstprogramm durchsucht die Datei mit regulären Ausdrücken und führt die im Aktionsparameter definierte Funktion aus. awk führt das Skript in jeder Zeile aus, wenn Sie kein Muster festlegen, wie unten gezeigt:

awk '{print $1}' awk_beispiele.txt

...wo $1 zeigt das erste Feld der an awk_examples.txt Datei.

Der folgende Befehl führt die Druckfunktion für das angegebene Muster aus, indem er das zweite Feld "Welt" mit "Alice," und zeigt die ganze Zeile an ($0):

echo "Hallo Welt" | awk '{$2="Alice"; drucke $0}'

Ausgabe:

Hallo Alice

Ebenso können Sie die Funktion verwenden $0 drucken aus dem obigen Befehl, um die zu emulieren grep Funktionalität.

awk '/john/{print $0}' /etc/passwd
john: x: 1001:1001::/home/john:/bin/sh

3. Sortieren

sort ist ein weiteres Linux-Befehlszeilendienstprogramm, mit dem Sie den Inhalt der angegebenen Textdatei in einem sortierten Format anzeigen können. Beispielsweise können Sie die Ausgabe des awk-Befehls wie folgt als Eingabe an das Sortierdienstprogramm weiterleiten:

awk '{print $1}' awk_beispiele.txt | sortieren > sort_text.txt
cat sort_text.txt

Ausgabe:

Verwandt: So sortieren Sie Textdateien in Linux mit sort

4. sed

Der sed- oder Stream-Editor nimmt die Eingabe als Stream von Zeichen entgegen und führt Filter und Texttransformationen (Löschen, Ersetzen und Ersetzen) für den angegebenen Text durch.

Sie können es in einem Skript verwenden und Dateien nicht interaktiv bearbeiten. Daher ist der grundlegendste Zweck des Dienstprogramms die Ersetzung von Zeichenfolgen/Zeichen. Die allgemeine Syntax lautet:

sed 's/string/substitution/option'-Datei

Erstellen Sie eine Datei mit zufälligen Sätzen, um die Funktionsweise dieses Dienstprogramms zu üben und zu verstehen.

Lassen Sie uns das Vorkommen des Wortes "zwei" in jeder Zeile der Datei mit "2" Verwendung der -g Flag für globale Ersetzung wie folgt:

sed 's/two/2/g' sed_examples.txt > sed_examples2.txt

Verwenden Sie in ähnlicher Weise die -D Flag, um eine bestimmte Zeile aus der Datei zu löschen:

sed '2d' sed_examples.txt

Sie können die Zeichenfolge auch ersetzen, indem Sie eine Zeilennummer angeben (4 s/zwei/2/p) und nur die ersetzte Zeile wie folgt drucken:

sed -n '4 s/two/2/p' sed_examples2.txt

Der -n Flag im obigen Befehl deaktiviert das automatische Drucken des Eingabestroms zur Ausgabe. Sie können diese Option zu Ihren Gunsten verwenden, um die Funktionalität des Dienstprogramms grep durch sed zu ersetzen.

Beispielsweise können Sie den obigen Befehl ändern, indem Sie nur ein Regex-Muster einfügen /two/p so dass die -P flag gibt nur die Zeilen in den Standardausgabestrom aus.

sed -n '/two/p' sed_examples2.txt

Verwandt: Diese 10 Beispiele machen Sie zu einem Linux-Power-User

5. schneiden

Cut ist ein weiteres Befehlszeilenprogramm, das Textteile aus einer Zeile oder Datei ausschneidet/extrahiert. Es schneidet den Text basierend auf einem angegebenen Feld, Zeichen oder einer Byte-Position und leitet das Ergebnis an die Standardausgabe weiter.

Das Dienstprogramm nimmt die folgende Syntax an:

schneiden  Datei

Verwenden Sie die -B Option zum Ausschneiden von Abschnitten oder Inhalten mit einem bestimmten Byte oder einem Bereich von Bytes:

cut -b 1 cut_examples.txt

Verwenden Sie die -C Flag zum Extrahieren von Text durch Angabe der Positionen von Zeichen:

cut -c 1,3,5 cut_examples.txt

Schließlich können Sie auch Text extrahieren, indem Sie Felder mit angeben -F Möglichkeit und -D für Leerzeichen oder Feldtrenner:

cut -d " " -f 1 cut_examples.txt

Hier ist die Liste der Bereiche mit Beispielen und Beschreibungen, die Sie mit dem Charakter verwenden können -C und byte -B Optionen:

Bereich Beispiel Beschreibung
n- cut -c 7- Dateiname Extrahiere Zeichen aus der n-ten Ganzzahl bis zum Ende der Zeile
n-m cut -b 7-15 Dateiname Auszüge aus der Ganzzahl n-m jeder Zeile aus der Eingabedatei
-m cut -c -7 Dateiname Extrahiert Zeilen beginnend mit m bis zum Ende der Zeile

Beachten Sie, dass Sie die Bereiche für die Textextraktion nicht mithilfe des Felds definieren können -F Möglichkeit.

Bearbeiten von Text mit Linux-Befehlen

Linux bietet viele Programme und Tools zum Umgang mit und Arbeiten mit Dateien oder Text. Es ist möglicherweise nicht erforderlich, sie alle zu lernen, da Sie die Lücke leicht mit einem anderen füllen können, sobald Sie eines gut im Griff haben, z. B. mit sed als grep oder awk als grep, aber dies kann nicht für jedes Tool gelten.

Außerdem haben Linux-Befehle eine steile Lernkurve, aber sobald Sie die Fähigkeit entwickelt haben, können sie sich im Leben eines jeden Linux-Benutzers, insbesondere eines Systemadministrators, als sehr nützlich und effektiv erweisen.

Die 8 besten Terminal-Apps für verbesserte Linux-Produktivität

Müde von der alten und langweiligen Terminal-App, die unter Linux vorinstalliert ist? Sehen Sie sich diese acht Terminal-Apps an, die Ihren Arbeitsablauf verbessern werden.

Lesen Sie weiter

TeilenTwitternEmail
Verwandte Themen
  • Linux
  • Linux-Befehle
Über den Autor
Rumaisa Niazi (7 veröffentlichte Artikel)

Rumaisa ist freiberufliche Autorin bei MUO. Sie hat viele Rollen getragen, von einer Mathematikerin bis hin zu einer Enthusiastin für Informationssicherheit, und arbeitet jetzt als SOC-Analystin. Ihre Interessen umfassen das Lesen und Schreiben über neue Technologien, Linux-Distributionen und alles rund um Informationssicherheit.

Mehr von Rumaisa Niazi

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich anzumelden