Awk

So analysieren Sie die tabulatorgetrennte Datei mit 'awk'

So analysieren Sie die tabulatorgetrennte Datei mit 'awk'

'tab' wird als Trennzeichen in der tabulatorgetrennten Datei verwendet. Diese Art von Textdatei wird erstellt, um verschiedene Arten von Textdaten in einem strukturierten Format zu speichern.  Unter Linux gibt es verschiedene Befehlstypen, um diesen Dateityp zu analysieren.  Der Befehl 'awk' ist eine der Möglichkeiten, die tabulatorgetrennte Datei auf verschiedene Weise zu analysieren. Die Verwendung des Befehls 'awk' zum Lesen der tabulatorgetrennten Datei wurde in diesem Tutorial gezeigt shown.

Erstellen Sie eine tabulatorgetrennte Datei:

Erstellen Sie eine Textdatei mit dem Namen Benutzer.TXT mit den folgenden Inhalten, um die Befehle dieses Tutorials zu testen. Diese Datei enthält den Benutzernamen, die E-Mail-Adresse, den Benutzernamen und das Passwort.

Benutzer.TXT

Name                E-Mail                       Nutzername         Passwort
Md. Robin         [email protected]               robin89                563425
Nila Hasan         [email protected]                nila78                 245667
Mirza Abbas        [email protected]               mirza23                534788
Aornob Hasan       [email protected]         arnob45                778473
Nuhas Ahsan        [email protected]               nuhas34                563452

Beispiel-1: Drucken Sie die zweite Spalte einer tabulatorgetrennten Datei mit der Option -F

Der folgende 'sed'-Befehl druckt die zweite Spalte einer tabulatorgetrennten Textdatei. Hier die '-F' Option wird verwendet, um das Feldtrennzeichen der Datei zu definieren.

$ Katzenbenutzer.TXT
$ awk -F '\t' 'print $2' Benutzer.TXT

Die folgende Ausgabe wird erscheinen, nachdem die Befehle ausgeführt wurden. Die zweite Spalte der Datei enthält die E-Mail-Adressen des Benutzers, die als Ausgabe angezeigt werden.

Beispiel-2: Drucken Sie die erste Spalte einer tabulatorgetrennten Datei mit der FS-Variablen

Der folgende 'sed'-Befehl druckt die erste Spalte einer tabulatorgetrennten Textdatei. Hier, FS (Field Separator) Variable wird verwendet, um das Feldtrennzeichen der Datei zu definieren.

$ Katzenbenutzer.TXT
$ awk ' print $1 ' FS='\t' Benutzer.TXT

Die folgende Ausgabe wird erscheinen, nachdem die Befehle ausgeführt wurden. Die erste Spalte der Datei enthält die Namen der Benutzer, die als Ausgabe angezeigt werden.

Beispiel-3: Drucken Sie die dritte Spalte einer tabulatorgetrennten Datei mit Formatierung

Der folgende 'sed'-Befehl druckt die dritte Spalte der tabulatorgetrennten Textdatei mit Formatierung mithilfe der FS variabel und druckenf. Hier die FS Variable wird verwendet, um das Feldtrennzeichen der Datei zu definieren.

$ Katzenbenutzer.TXT
$ awk 'BEGINFS="\t" printf "%10s\n", $3' Benutzer.TXT

Die folgende Ausgabe wird erscheinen, nachdem die Befehle ausgeführt wurden. Die dritte Spalte der Datei enthält den hier abgedruckten Benutzernamen.

Beispiel-4: Drucken Sie die dritte und vierte Spalte der tabulatorgetrennten Datei mit OFS

OFS (Output Field Separator) wird verwendet, um ein Feldtrennzeichen in der Ausgabe hinzuzufügen. Der folgende 'awk'-Befehl teilt den Inhalt der Datei basierend auf dem Tabulator(\t)-Trennzeichen und druckt die 3. und 4. Spalte mit dem Tabulator(\t) als Trennzeichen.

$ Katzenbenutzer.TXT
$ awk -F "\t" 'OFS="\t" print $3, $4 > ("output.txt")' Benutzer.TXT
$ cat-Ausgabe.TXT

Die folgende Ausgabe erscheint, nachdem Sie die obigen Befehle ausgeführt haben. Die 3. und 4. Spalte enthalten den Nutzernamen und das Passwort, die hier abgedruckt wurden.

Beispiel-5: Ersetzen Sie den bestimmten Inhalt der tabulatorgetrennten Datei

Die Funktion sub() wird in 'awk to command for Substitution' verwendet. Der folgende 'awk'-Befehl sucht die Nummer 45 und ersetzt sie durch die Nummer 90, wenn die Suchnummer in der Datei vorhanden ist. Nach der Ersetzung wird der Inhalt der Datei in der Ausgabe gespeichert.txt-Datei.

$ Katzenbenutzer.TXT
$ awk  -F "\t"'sub(/45/,90);print' Nutzer.txt > Ausgabe.TXT
$ cat-Ausgabe.TXT

Die folgende Ausgabe erscheint, nachdem Sie die obigen Befehle ausgeführt haben. Die Ausgabe.txt-Datei zeigt den geänderten Inhalt nach dem Anwenden der Ersetzung an. Hier wurde der Inhalt der 5. Zeile geändert und "arnob45" in "arnob90" geändert.

Beispiel-6: String am Anfang jeder Zeile einer tabulatorgetrennten Datei hinzufügen

Im Folgenden wird der 'awk'-Befehl, die '-F'-Option verwendet, um den Inhalt der Datei basierend auf der Registerkarte (\t). OFS hat in der Ausgabe ein Komma (,) als Feldtrennzeichen hinzugefügt. Die Funktion sub() wird verwendet, um die Zeichenfolge '-→' am Anfang jeder Zeile der Ausgabe hinzuzufügen.

$ Katzenbenutzer.TXT
$ awk -F "\t" 'OFS=",";sub(/^/, "---->");print $1,$2,$3' Benutzer.TXT

Die folgende Ausgabe erscheint, nachdem Sie die obigen Befehle ausgeführt haben. Jeder Feldwert wird durch Komma (,) getrennt und am Anfang jeder Zeile wird eine Zeichenfolge hinzugefügt.

Beispiel-7: Ersetzen Sie den Wert einer tabulatorgetrennten Datei mit der Funktion gsub()

Die Funktion gsub() wird im Befehl 'awk' für die globale Ersetzung verwendet. Alle Zeichenfolgenwerte der Datei werden dort ersetzt, wo das Suchmuster übereinstimmt. Der Hauptunterschied zwischen den Funktionen sub() und gsub() besteht darin, dass die Funktion sub() die Ersetzungsaufgabe stoppt, nachdem die erste Übereinstimmung gefunden wurde, und die Funktion gsub() das Muster am Ende der Datei nach Ersetzung durchsucht. Der folgende 'awk'-Befehl durchsucht das Wort 'nila' und 'Mira' global in der Datei und ersetzt alle Vorkommen durch den Text 'Ungültiger Name', wo das gesuchte Wort übereinstimmt.

$ Katzenbenutzer.TXT
$ awk  -F '\t' 'gsub(/nila|Mira/, "Ungültiger Name"); print' Benutzer.TXT

Die folgende Ausgabe erscheint, nachdem Sie die obigen Befehle ausgeführt haben. Das Wort "nila" kommt zweimal in der dritten Zeile der Datei vor, die in der Ausgabe durch das Wort "Ungültiger Name" ersetzt wurde.

Beispiel-8: Drucken Sie den formatierten Inhalt aus einer tabulatorgetrennten Datei

Der folgende 'awk'-Befehl druckt die erste und die zweite Spalte der Datei mit Formatierung mit printf. Die Ausgabe zeigt den Namen des Benutzers durch Einschließen der E-Mail-Adresse in Klammern.

$ Katzenbenutzer.TXT
$ awk -F '\t' 'printf "%s(%s)\n", $1,$2' Benutzer.TXT

Die folgende Ausgabe erscheint, nachdem Sie die obigen Befehle ausgeführt haben.

Fazit

Jede tabulatorgetrennte Datei kann einfach geparst und mit einem anderen Trennzeichen gedruckt werden, indem der Befehl 'awk' verwendet wird. Die Möglichkeiten zum Parsen von tabulatorgetrennten Dateien und zum Drucken in verschiedenen Formaten wurden in diesem Tutorial anhand mehrerer Beispiele gezeigt. Die Verwendung der Funktionen sub() und gsub() im 'awk'-Befehl zum Ersetzen des Inhalts der tabulatorgetrennten Datei wird ebenfalls in diesem Tutorial erklärt. Ich hoffe, dieses Tutorial wird den Lesern helfen, die tabulatorgetrennte Datei leicht zu analysieren, nachdem sie die Beispiele dieses Tutorials richtig geübt haben.

OpenTTD vs. Simutrans
Das Erstellen einer eigenen Transportsimulation kann Spaß machen, entspannend und äußerst verlockend sein. Deshalb sollten Sie so viele Spiele wie mög...
OpenTTD-Tutorial
OpenTTD ist eines der beliebtesten Wirtschaftssimulationsspiele auf dem Markt. In diesem Spiel musst du ein wunderbares Transportunternehmen aufbauen....
SuperTuxKart für Linux
SuperTuxKart ist ein großartiger Titel, der entwickelt wurde, um Ihnen das Mario Kart-Erlebnis kostenlos auf Ihrem Linux-System zu bieten. Es ist ziem...