Wir können awk als eine Verbesserung gegenüber SED betrachten, da es mehr Funktionen bietet, darunter Arrays, Variablen, Schleifen und gute alte, reguläre Ausdrücke.
In diesem Tutorial werden wir schnell besprechen, wie Sie mehrere Grenzwerfer in einem awk -Befehl verwenden können. Bevor wir fortfahren, beachten Sie bitte, dass dieses Tutorial weder ein Anfängerleitfaden für awk ist, noch habe ich es als solche beabsichtigt.
Bitte beachten Sie die folgende Ressource, wenn Sie einen Anfängerhandbuch für awk benötigen.
https: // linuxHint.com/use_awk_linux/
Was sind Grenzwerte?
Ich bin mir sicher, dass Sie mit dem Konzept der Abgrenzer die Zeit zum Lesen dieses Artikels nehmen, da Sie sich die Zeit nehmen, diesen Artikel zu lesen. Aber es tut nicht weh, zusammenzufassen, also lass uns jetzt das tun:
Kurz gesagt, Grenzen sind eine Abfolge von Zeichen. Es gibt verschiedene gängige Arten von Abgrenzern, einschließlich:
Name | Symbol |
---|---|
Komma | , |
Doppelpunkt | : |
Semikolon | ; |
Zeitraum | . |
Rohr | | |
Backslash | \ |
Schrägstrich | / |
Klammern | () |
Geschweifte Klammern | |
Eckige Klammern | [] |
Raum |
Awk Regex Feldabscheider
Das AWK -Feldabscheider (FS) wird verwendet, um anzugeben und zu steuern, wie awk einen Datensatz in verschiedene Felder aufteilt. Außerdem kann es ein einzelnes Zeichen eines regulären Ausdrucks akzeptieren. Sobald Sie einen regulären Ausdruck als Wert für das FS angeben, scannt AWK die Eingabewerte für die Abfolge der im regulären Ausdruck festgelegten Zeichen.
Wir werden die Funktionalität von AWK implementieren, um regelmäßige Ausdruckswerte im Feldtrennzeichen zu akzeptieren, um mehrere Grenzwerte zu verbinden.
Verwenden Sie mehrere Grenzwerte
Um zu veranschaulichen, wie man mit mehreren Grenzen in awk getrennt wird, werde ich ein einfaches Beispiel verwenden, um Ihnen zu zeigen, wie diese Funktionalität verwendet wird.
Angenommen, Sie haben eine Datei mit Daten wie folgt:
/org/gnone/Desktop/Schnittstelle: etabliert: Apr17 16.59.09 | Org.Gnom.Terminal.Desktop [1099]
Aus der obigen Datei möchten wir die Ausgabe ähnlich wie die unten gezeigten erhalten:
org/gnome/desktop/interface erstellt 17. April 16:59.09 org.Gnom.Terminal.Desktop [1099]
So trennen Sie die Datei mit den verschiedenen Abgrenzern in diesem Fall, einen Dickdarm, einen Raum und ein Pfeif, der wie unten gezeigt einen Befehl verwenden kann:
awk -f '[: |]' '' print $ 1, $ 2, $ 3, $ 4, $ 5, $ 6 'Benutzer.Protokoll
Der obige Befehl gibt die Informationen wie unten gezeigt aus:
Wie Sie sehen können, können Sie mehr als einen Trennzeichen im AWK -Feldabscheider kombinieren, um bestimmte Informationen zu erhalten.
Abschluss
In diesem schnellen Handbuch haben wir mithilfe awk über die Trennung mehrerer Grenzwerte in einer Eingabedatei diskutiert.
Um weitere Informationen darüber zu erhalten, wie die Funktionalität von awk fs erweitert werden kann, berücksichtigen Sie die folgenden Ressourcen:
https: // www.Gnu.org/software/gawk/manual/html_node/regexp-Feld-Splitting.html
https: // www.Gnu.org/software/gawk/manual/html_node/feld-separatoren.html