Viele utility tools existieren in die Linux betriebs system zu suchen und erzeugen einen bericht von text daten oder datei. Der Benutzer kann mit awk -, grep-und sed-Befehlen problemlos viele Arten von Such -, Ersetzungs-und Berichtsgenerierungsaufgaben ausführen. awk ist nicht nur ein Befehl. Es ist eine Skriptsprache, die sowohl vom Terminal als auch von der AWK-Datei verwendet werden kann. Es unterstützt die Variable, bedingte Anweisung, Array, Schleifen usw. wie andere Skriptsprachen., Es kann jeden Dateiinhalt Zeile für Zeile lesen und die Felder oder Spalten basierend auf einem bestimmten Trennzeichen trennen. Es unterstützt auch reguläre Ausdrücke für die Suche bestimmten String im Textinhalt oder Datei und nimmt Aktionen, wenn eine Übereinstimmung Grenzen. Wie Sie awk Befehl und Skript verwenden können, wird in diesem Tutorial anhand von 20 nützlichen Beispielen gezeigt.,a

  • awk mit CSV-Daten
  • awk regex
  • awk case insensitive regex
  • awk mit nf (Anzahl der Felder) Variable
  • awk gensub() Funktion
  • awk mit rand() Funktion
  • awk benutzerdefinierte Funktion
  • awk if
  • awk Variablen
  • awk arrays
  • awk loop
  • awk to print the first column
  • awk to print the last column
  • awk with grep
  • awk with the bash script file
  • awk with sed
  • Using awk with printf

    printf() function is used to format any output in most of the programming languages., Diese Funktion kann mit dem Befehl awk verwendet werden, um verschiedene Arten formatierter Ausgaben zu generieren. awk-Befehl hauptsächlich für jede Textdatei verwendet. Erstellen Sie eine Textdatei mit dem Namen Mitarbeiter.txt mit dem unten angegebenen Inhalt, wobei Felder durch Tabulatoren getrennt sind (‚\t‘).

    Mitarbeiter.txt

    1001 John sena 40000
    1002 Jafar Iqbal 60000
    1003 Meher Nigar 30000
    1004 Jonny Leber 70000

    Die folgenden awk-Befehl liest Daten von Mitarbeiter.txt-Datei Zeile für Zeile und drucken Sie die erste Datei nach der Formatierung. Hier bedeutet“ %10s\n“, dass die Ausgabe 10 Zeichen lang ist., Wenn der Wert der Ausgabe weniger als 10 Zeichen beträgt, werden die Leerzeichen vorne am Wert hinzugefügt.

    $ awk ‚{ printf „%10s\n“, $1 }‘ Mitarbeiter.txt

    Ausgabe:

    Gehe zum Inhalt

    awk zum Teilen auf Leerzeichen

    Das Standardwort-oder Feldtrennzeichen zum Teilen von Text ist Leerzeichen. awk Befehl kann Textwert als Eingabe auf verschiedene Arten nehmen. Der Eingabetext wird im folgenden Beispiel vom Befehl echo übergeben., Der Text „Ich mag Programmierung“ wird standardmäßig durch Trennzeichen und Leerzeichen geteilt und das dritte Wort wird als Ausgabe gedruckt.

    $ echo ‚ich wie die Programmierung der‘ | awk ‚{ print $3 }‘

    Ausgabe:

    zum Inhalt

    awk änderung der Trennzeichen

    awk-Befehl kann verwendet werden, um ändern Sie das Trennzeichen für jede Datei Inhalt. Angenommen, Sie haben eine Textdatei namens phone.txt mit folgendem Inhalt, wobei ‚: ‚als Feldtrennzeichen des Dateiinhalts verwendet wird.

    Tel.,txt

    +123:334:889:778
    +880:1855:456:907
    +9:7777:38644:808

    Führen Sie den folgenden awk-Befehl ändern Sie das Trennzeichen ‚:‘ durch‘ -‚, um die Inhalte der Datei, Tel.txt.

    $ cat-Handy.txt
    $ awk ‚$1=$1 “ FS=“:“ OFS=“-“ Telefon.txt

    Ausgabe:

    Gehe zum Inhalt

    awk mit tabulatorgetrennten Daten

    awk Befehl hat viele eingebaute Variablen, die verwendet werden, um den Text auf verschiedene Arten zu lesen. Zwei von Ihnen sind FS und OFS., FS ist Eingabefeldtrennzeichen und OFS ist Ausgabefeldtrennzeichen Variablen. Die Verwendung dieser Variablen wird in diesem Abschnitt gezeigt. Erstellen Sie eine tabulatorgetrennte Datei mit dem Namen Eingabe.txt mit dem folgenden Inhalt, um die Verwendung von FS-und OFS-Variablen zu testen.

    Eingang.txt

    Clientseitige Skriptsprache
    Serverseitige Skriptsprache
    Datenbankserver
    Webserver

    Verwendung einer Variablen mit Tab

    Der folgende Befehl teilt jede Eingabezeile auf.txt-Datei basierend auf der Registerkarte (‚\t‘) und drucken Sie das erste Feld jeder Zeile.,

    $ awk ‚{ print $1 }‘ FS=’\t‘ input.txt

    Ausgabe:

    Verwendung der OFS-Variablen mit Tab

    Der folgende awk-Befehl druckt die 9.und 5. Felder der Befehlsausgabe von ‚ls-l‘ mit Tabulatortrennzeichen nach dem Drucken des Spaltentitels“ Name „und“Größe“. Hier wird die OFS-Variable verwendet, um die Ausgabe über eine Registerkarte zu formatieren.,

    $ ls -l
    $ ls -l | awk -v OFS=’\t‘ ‚BEGIN { printf „%s\t%s\n“, „Name“, „Größe“} {print $9,$5}‘

    Ausgabe:

    zum Inhalt

    awk mit CSV-Daten

    Der Inhalt der CSV-Datei analysiert werden kann in mehrere Möglichkeiten, durch die Verwendung von awk Befehl. Erstellen Sie eine CSV-Datei mit dem Namen ‘customer.csv‘ mit dem folgenden Inhalt awk Befehl anzuwenden.

    Kunde.txt

    Lesen Sie einzelne Felder der CSV-Datei

    ‚-F‘ – option wird mit den awk-Befehl zum festlegen der Trennzeichen für die Teilung jeder Zeile der Datei., Der folgende Befehl awk druckt das Feld name des Kunden.csv-Datei.

    $ cat-Kunden.csv
    $ awk -F „,“ ‚{print $2}‘ Kunden.csv

    Ausgabe:

    Lesen mehrerer Felder durch Kombination mit anderem Text

    Der folgende Befehl druckt drei Kundenfelder.csv durch die Kombination von Titeltext, Name, E-Mail und Telefon. Die erste Zeile des Kunden.csv-Datei enthält den Titel jedes Feldes. NR Variable enthält die Zeilennummer der Datei, wenn awk Befehl die Datei analysiert., In diesem Beispiel wird die Variable NR verwendet, um die erste Zeile der Datei wegzulassen. Die Ausgabe zeigt das 2., 3. und 4. Feld aller Zeilen außer der ersten Zeile an.

    $ awk-F“,“‚“>1 {print “ Name:“ $2″, E-Mail:“ $3″, Telefon: „$4}‘ Kunde.csv

    Ausgabe:

    Lesen der CSV-Datei mit einem awk-Skript

    awk-Skript kann ausgeführt werden, indem awk-Datei ausgeführt wird. In diesem Beispiel wird gezeigt, wie Sie awk-Dateien erstellen und ausführen können. Erstellen Sie eine Datei namens awkcsv.awk mit dem folgenden code., Das Schlüsselwort BEGIN wird im Skript verwendet, um den Befehl awk darüber zu informieren, dass das Skript des BEGIN-Teils zuerst ausgeführt wird, bevor andere Aufgaben ausgeführt werden. Hier wird das Feldtrennzeichen (FS) verwendet, um Trennzeichen zu definieren, und das 2.und 1. Feld werden entsprechend dem in der printf () – Funktion verwendeten Format gedruckt.

    awkcsv.awk
    BEGIN {FS = „,“} {printf „%5s(%s)\n“, $2,$1}

    Ausführen awkcsv.awk-Datei mit dem Inhalt des Kunden.csv-Datei mit dem folgenden Befehl.

    $ awk -f awkcsv.awk Kunden.,csv

    Ausgabe:

    Gehe zum Inhalt

    awk regex

    Der reguläre Ausdruck ist ein Muster, mit dem eine beliebige Zeichenfolge in einem Text gesucht wird. Verschiedene Arten komplizierter Such – und Ersetzungsaufgaben können mithilfe des regulären Ausdrucks sehr einfach ausgeführt werden. In diesem Abschnitt werden einige einfache Verwendungen des regulären Ausdrucks mit dem Befehl awk gezeigt.

    Übereinstimmender Zeichensatz

    Der folgende Befehl stimmt mit dem Wort Fool oder bool oder Cool mit der Eingabezeichenfolge überein und druckt, wenn das Wort gründet., Hier wird Puppe nicht übereinstimmen und nicht drucken.

    $ printf „Fool\nCool\nDoll\nbool“ | awk ‚/ool/‘

    Ausgabe:

    Suchzeichenfolge am Anfang der Zeile

    ‚^‘ Symbol wird im regulären Ausdruck verwendet, um ein beliebiges Muster am Anfang der Zeile zu suchen

    linie. ‚Linux‘ Wort wird am Anfang jeder Zeile des Textes im folgenden Beispiel gesucht werden. Hier beginnen zwei Zeilen mit dem Text ‚Linux‘ und diese beiden Zeilen werden in der Ausgabe angezeigt.,

    $ echo-e „Linux ist kostenlos zu benutzen\n Es ist eine Open-Source-Software\nLinuxHint ist
    eine beliebte Blog-Site“ | awk ‚/^Linux/‘

    Ausgabe:

    Suchzeichenfolge am Ende der Zeile

    Das Symbol’$‘ wird im regulären Ausdruck verwendet, um ein beliebiges Muster am Ende jeder Textzeile zu durchsuchen. Das Wort „Skript“ wird im folgenden Beispiel gesucht. Hier enthalten zwei Zeilen das Wort Script am Ende der Zeile.,

    $ echo-e „PHP Script\nJavaScript\nVisual Programming“ | awk ‚/Script$/‘

    Ausgabe:

    Suche durch Weglassen eines bestimmten Zeichensatzes

    Das Symbol’^‘ gibt den Anfang des Textes an, wenn er vor beliebiges Zeichenfolgenmuster (‚/^…/‘) oder vor einem von ^deklarierten Zeichensatz. Wenn das Symbol ‚ ^ ‚ innerhalb der dritten Klammer verwendet wird, wird der definierte Zeichensatz innerhalb der Klammer zum Zeitpunkt der Suche weggelassen., Der folgende Befehl sucht jedes Wort, das nicht mit ‚F‘ beginnt, sondern mit ‚ool‘ endet. Cool und bool werden entsprechend den Muster-und Textdaten gedruckt.

    $ printf „Fool\nCool\nDoll\nbool“ | awk ‚/ool/‘

    Ausgabe:

    zum Inhalt

    awk case insensitive regex

    standardmäßig regulären Ausdruck nicht groß-und Kleinschreibung beachten bei der Suche auf Muster in der Zeichenfolge. Groß-und Kleinschreibung Suche kann durch awk Befehl mit dem regulären Ausdruck durchgeführt werden., Im folgenden Beispiel wird die Funktion tolower () verwendet, um die Groß-und Kleinschreibung zu suchen. Hier wird das erste Wort jeder Zeile des Eingabetextes mithilfe der Funktion tolower() in Kleinbuchstaben konvertiert und mit dem Muster für reguläre Ausdrücke übereinstimmen. toupper () Funktion kann auch für diesen Zweck verwendet werden, in diesem Fall muss das Muster durch alle Großbuchstaben definiert werden. Der im folgenden Beispiel definierte Text enthält das Suchwort ‚ web ‚ in zwei Zeilen, das als Ausgabe gedruckt wird.,

    $ echo-e „Web Design\nweb development\nFramework“ | awk ‚tolower($0) ~ /^web/;‘

    Ausgabe:

    Gehe zum Inhalt

    awk mit NF (Anzahl der Felder) Variable

    NF ist eine integrierte Variable des Befehls awk, mit der die Gesamtzahl der Felder in jeder Zeile des Eingabetextes gezählt wird. Erstellen Sie eine beliebige Textdatei mit mehreren Zeilen und mehreren Wörtern. Eingang.hier wird eine txt-Datei verwendet, die im vorherigen Beispiel erstellt wurde.,

    Verwenden von NF über die Befehlszeile

    Hier wird der erste Befehl verwendet, um den Inhalt der Eingabe anzuzeigen.txt-Datei und zweiten Befehl wird verwendet, um die Gesamtzahl der Felder in jeder Zeile der Datei mit NF Variable zeigen.

    $ cat input.txt
    $ awk ‚{print NF}‘ input.txt

    Ausgabe:

    Mit NF im awk-Datei

    Erstellen Sie ein awk-Datei mit dem Namen count.awk mit dem unten angegebenen Skript. Wenn dieses Skript mit beliebigen Textdaten ausgeführt wird, wird jeder Zeileninhalt mit Gesamtfeldern als Ausgabe gedruckt.

    Graf.,awk

    {print $0}
    {print „“}

    Führen Sie das Skript mit dem folgenden Befehl.

    $ awk -f count.awk-Eingang.txt

    Ausgabe:

    zum Inhalt

    awk gensub () – Funktion

    getsub() ist eine substitution Funktion, die Suche verwendet wird-Zeichenfolge basierend auf bestimmten Trennzeichen oder einen regulären Ausdruck Muster. Diese Funktion ist im ‚gawk‘ – Paket definiert, das standardmäßig nicht installiert ist. Die syntax für diese Funktion ist unten angegeben., Der erste Parameter enthält das Muster des regulären Ausdrucks oder das Suchtrennzeichen, der zweite Parameter enthält den Ersetzungstext, der dritte Parameter gibt an, wie die Suche durchgeführt wird, und der letzte Parameter enthält den Text, in dem diese Funktion angewendet wird.

    Syntax:

    gensub(regexp, Ersatz, wie )

    Führen Sie den folgenden Befehl zum installieren von gawk-Paket für die Verwendung getsub () – Funktion mit awk Befehl.

    $ sudo apt-get install gawk

    Erstellen Sie eine text-Datei mit dem Namen ‘folgende Adresse: SalesInfo.,txt‘ mit dem folgenden Inhalt dieses Beispiel zu üben. Hier sind die Felder durch eine Registerkarte getrennt.

    folgende Adresse: SalesInfo.txt

    Mo 700000
    Di 800000
    Mi 750000
    Do 200000
    Fr 430000
    Sat 820000

    Führen Sie den folgenden Befehl aus, um die numerischen Felder der salesinfo zu lesen.txt-Datei und drucken Sie die Summe aller Umsatzmenge. Hier gibt der dritte Parameter ‚G‘ die globale Suche an. Das bedeutet, dass das Muster im vollständigen Inhalt der Datei durchsucht wird.,

    $ awk ‚{ x=gensub(„\t“,““,“G“,$2); printf x „+“ } END{ print 0 }‘ folgende Adresse: SalesInfo.txt | bc -l

    Ausgabe:

    zum Inhalt

    awk mit der rand () – Funktion

    Funktion rand() erzeugt eine zufällige Zahl, die größer als 0 und kleiner als 1 ist. Es wird also immer eine Bruchzahl von weniger als 1 generiert. Der folgende Befehl generiert eine gebrochene Zufallszahl und multipliziert den Wert mit 10, um eine Zahl von mehr als 1 zu erhalten., Zur Anwendung der Funktion printf() wird eine Bruchzahl mit zwei Ziffern nach dem Komma gedruckt. Wenn Sie den folgenden Befehl mehrmals ausführen, erhalten Sie jedes Mal eine andere Ausgabe.

    $ awk ‚BEGIN {printf („Zahl =%.2f\n“ , rand()*10}‘

    Ausgabe:

    Gehe zum Inhalt

    awk benutzerdefinierte Funktion

    Alle Funktionen, die in den vorherigen Beispielen verwendet werden, sind integrierte Funktionen. Sie können jedoch eine benutzerdefinierte Funktion in Ihrem awk-Skript deklarieren, um eine bestimmte Aufgabe auszuführen., Angenommen, Sie möchten eine benutzerdefinierte Funktion erstellen, um die Fläche eines Rechtecks zu berechnen. Erstellen Sie dazu eine Datei mit dem Namen ‘area.awk‘ mit dem folgenden Skript. In diesem Beispiel wird eine benutzerdefinierte Funktion namens area() im Skript deklariert, die den Bereich basierend auf den Eingabeparametern berechnet und den Bereichswert zurückgibt. getline Befehl wird hier verwendet, um Eingaben vom Benutzer zu nehmen.

    Bereich.awk

    Führen Sie das Skript aus.

    $ awk -f Bereich.,awk

    Ausgabe:

    Gehe zum Inhalt

    awk if example

    awk unterstützt bedingte Anweisungen wie andere Standardprogrammiersprachen. Drei Arten von if-Anweisungen werden in diesem Abschnitt anhand von drei Beispielen angezeigt. Erstellen Sie eine Textdatei mit dem Namen items.txt mit folgendem Inhalt.

    – Elemente.txt

    HDD Samsung $100
    Maus A4Tech
    Drucker HP $200

    Einfache wenn beispiel:

    er folgenden befehl wird lesen sie den inhalt der artikel.txt-Datei und überprüfen Sie den 3. Feldwert in jeder Zeile., Wenn der Wert leer ist, wird eine Fehlermeldung mit der Zeilennummer gedruckt.

    $ awk ‚{ if ($3 == „“) print – „Preis-Feld fehlt in der Zeile“ NR }‘ items.txt

    Ausgabe:

    if-else Beispiel:

    Der folgende Befehl druckt den Artikelpreis, wenn das dritte Feld in der Zeile vorhanden ist, andernfalls wird eine Fehlermeldung ausgegeben.

    $ awk ‚{ if ($3 == „“) print „Feld fehlt“
    else print „Einzelpreis ist“ $3 }‘ items.,txt

    Ausgabe:

    if-else-if Beispiel:

    Wenn der folgende Befehl vom Terminal aus ausgeführt wird, wird er vom Benutzer eingegeben. Der Eingabewert wird mit jeder if-Bedingung verglichen, bis die Bedingung wahr ist. Wenn eine Bedingung wahr wird, wird die entsprechende Note gedruckt. Wenn der Eingabewert nicht mit einer Bedingung übereinstimmt, wird der Druck fehlschlagen.,

    $ awk ‚BEGIN { print „Geben Sie die Marke:“
    getline mark < „-„
    if (mark >= 90) print „A+“
    else if( mark >= 80) print „A“
    else if( mark >= 70) print „B+“
    else print „Fail“ }‘

    Ausgabe:

    zum Inhalt

    awk-Variablen

    Die Erklärung der awk-variable ist ähnlich der Erklärung des shell-variable. Es gibt einen Unterschied beim Lesen des Werts der Variablen., ‚$’Symbol wird mit dem Variablennamen für die Shell-Variable verwendet, um den Wert zu lesen. Es ist jedoch nicht erforderlich, ‚ $ ‚ mit der Variablen awk zu verwenden, um den Wert zu lesen.

    Verwenden einer einfachen Variablen:

    Der folgende Befehl deklariert eine Variable mit dem Namen ’site‘ und dieser Variablen wird ein Zeichenfolgenwert zugewiesen. Der Wert der Variablen wird in der nächsten Anweisung gedruckt.

    $ awk ‚BEGIN{ site=“LinuxHint.,com“; print site} ‚

    Ausgabe:

    Verwenden einer Variablen zum Abrufen von Daten aus einer Datei

    Der folgende Befehl durchsucht das Wort ‚Drucker‘ in den Dateielementen.txt. Wenn eine Zeile der Datei mit ‚Drucker‘ beginnt, wird der Wert des 1., 2. und 3. Feldes in drei Variablen gespeichert. name und Preisvariablen werden gedruckt.

    $ awk ‚/Drucker/ { name=$1;brand=$2;Preis=$3;print „Element name=“ name;
    “ print „item-price=“ price }‘ items.,txt

    Ausgabe:

    Gehe zum Inhalt

    awk arrays

    In awk können sowohl numerische als auch zugehörige Arrays verwendet werden. Die Array-Variablendeklaration in awk ist mit anderen Programmiersprachen identisch. Einige Verwendungen von Arrays werden in diesem Abschnitt gezeigt.

    Assoziatives Array:

    Der Index des Arrays ist eine beliebige Zeichenfolge für das assoziative Array. In diesem Beispiel wird ein assoziatives Array von drei Elementen deklariert und gedruckt.,

    Ausgabe:

    Numerisches Array:

    Ein numerisches Array von drei Elementen wird deklariert und durch Trennen der Registerkarte gedruckt.

    Ausgabe:

    Gehe zum Inhalt

    awk loop

    Drei Arten von Schleifen werden von awk unterstützt. Die Verwendung dieser Schleifen wird hier anhand von drei Beispielen gezeigt.

    While-Schleife:

    while-Schleife, die im folgenden Befehl verwendet wird, wird 5 Mal iteriert und aus der Schleife für die break-Anweisung beendet.,

    $ awk ‚BEGIN { n = 1; while (n <= 10) { if(n > 5) break; print n; n++ } }‘

    Ausgabe:

    For-Schleife:

    For-Schleife, die ist verwendet in die folgenden awk-Befehl berechnet die Summe von 1 bis 10 und drucken Sie den Wert.,

    $ awk ‚BEGIN { sum=0; for (n = 1; n <= 10; n++) Summe=Summe+n; print sum }‘

    Ausgabe:

    Do-while-Schleife:

    eine do-while-Schleife wird der folgende Befehl druckt alle geraden zahlen von 10 auf 5.,

    $ awk ‚BEGIN {counter = 10; do { if (counter%2 ==0) print counter; counter– }
    while (counter > 5) }‘

    Ausgabe:

    zum Inhalt

    awk drucken der ersten Spalte

    Die erste Spalte jeder Datei können gedruckt werden durch mit $1 Variablen in awk. Wenn der Wert der ersten Spalte jedoch mehrere Wörter enthält, wird nur das erste Wort der ersten Spalte gedruckt. Durch die Verwendung eines bestimmten Trennzeichens kann die erste Spalte ordnungsgemäß gedruckt werden. Erstellen Sie eine Textdatei mit dem Namen Studenten.,txt mit folgendem Inhalt. Hier enthält die erste Spalte den Text von zwei Wörtern.

    Studenten.,txt

    Kaniz Fatema 30<sup>th</sup> batch
    Abir Hossain 35<sup>th</sup> batch
    John Abraham 40<sup>th</sup> batch

    Run awk command without any delimiter. The first part of the first column will be printed.,

    $ awk ‚{print $1}‘ Studenten.txt

    Führen Sie den Befehl awk mit dem folgenden Trennzeichen aus. Der vollständige Teil der ersten Spalte wird gedruckt.

    $ awk -F ‚\\s\\s‘ ‚{print $1}‘ Studenten.txt

    Ausgabe:

    Gehe zum Inhalt

    awk zum Drucken der letzten Spalte

    $(NF) Variable kann zum Drucken der letzten Spalte einer beliebigen Datei verwendet werden. Die folgenden awk-Befehle drucken den letzten Teil und den vollständigen Teil der letzten Spalte der Schüler.txt-Datei.,

    $ awk ‚{print $(NF)}‘ Studenten.txt
    $ awk -F ‚\\s\\s‘ ‚{print $(NF)}‘ Studenten.txt

    Ausgabe:

    Gehe zum Inhalt

    awk mit grep

    grep ist ein weiterer nützlicher Befehl von Linux, um Inhalte in einer Datei basierend auf einem regulären Ausdruck zu suchen. Wie awk-und grep-Befehle zusammen verwendet werden können, wird im folgenden Beispiel gezeigt. grep-Befehl wird verwendet, um Informationen der Mitarbeiter-ID zu suchen, ‚1002‘ von dem Mitarbeiter.txt-Datei. Die Ausgabe des Befehls grep wird als Eingabedaten an awk gesendet., 5% Bonus wird gezählt und gedruckt basierend auf dem Gehalt der Mitarbeiter-ID, ‚1002‘ von awk Befehl.

    $ cat Mitarbeiters.txt
    $ grep ‚1002‘ Mitarbeiter.txt / awk-F ‚\t “{ print $2 “ wird erhalten $“ ($3*5)/100 „bonus“} ‚

    Ausgabe:

    Gehe zum Inhalt

    awk mit BASH-Datei

    Wie andere Linux-Befehle kann awk-Befehl auch in einem BASH-Skript verwendet werden. Erstellen Sie eine Textdatei mit dem Namen Kunden.txt mit folgendem Inhalt. Jede Zeile dieser Datei enthält Informationen zu vier Feldern., Dies sind Kunden-ID, Name, Adresse und Handynummer, die durch ‚/’getrennt sind.

    Kunden.txt

    Erstellen Sie eine Bash-Datei mit dem Namen item_search.bash mit dem folgenden Skript. Gemäß diesem Skript wird der Statuswert vom Benutzer übernommen und in den Kunden gesucht.txt-Datei mit dem Befehl grep und als Eingabe an den Befehl awk übergeben. Awk Befehl liest 2.und 4. Felder jeder Zeile. Wenn der Eingabewert mit einem Statuswert von Kunden übereinstimmt.txt-Datei dann wird der Name und die Handynummer des Kunden gedruckt, andernfalls wird die Meldung „Kein Kunde gefunden“gedruckt.,

    item_search.bash

    Führen Sie die folgenden Befehle aus, um die Ausgänge anzuzeigen.

    $ cat-Kunden.txt
    $ bash item_search.bash

    Ausgabe:

    Gehe zum Inhalt

    awk mit sed

    Ein weiteres nützliches Suchwerkzeug von Linux ist sed. Dieser Befehl kann sowohl zum Suchen als auch zum Ersetzen von Text in einer beliebigen Datei verwendet werden. Das folgende Beispiel zeigt die Verwendung des Befehls awk mit dem Befehl sed. Hier wird sed Befehl alle Mitarbeiternamen suchen beginnt mit ‚ J ‚ und geht an awk Befehl als Eingabe., awk druckt den Namen und die ID des Mitarbeiters nach der Formatierung.

    $ cat Mitarbeiters.txt
    $ sed -n ‚/J/p‘ Mitarbeiter.txt / awk-F ‚\t “{ printf „%s (%s)\n“, $2, $1 }‘

    Ausgabe:

    Gehe zum Inhalt

    Fazit:

    Sie können den Befehl awk verwenden, um verschiedene Arten von Berichten basierend auf tabellarischen oder getrennten Daten zu erstellen, nachdem Sie die Daten ordnungsgemäß gefiltert haben. Hoffe, Sie können lernen, wie der Befehl awk funktioniert, nachdem Sie die in diesem Tutorial gezeigten Beispiele geübt haben.

    Articles

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.