AWK: String splitten und Teilstring mit bestimmten Zeichen finden

Beschreibung

Aus einer Zeichenkette (String) soll ein Wort oder Wert an Hand von Suchkriterien ausgegeben werden.

In dem String soll in dem nachfolgenden Beispiel der Wert „user_ac“ an Hand des Suchkriteriums „ac“ gefunden werden. Beispielstring: „user_ab user_ab user_ac user_ad“.

Vorgehen

String an Hand eines Separators (z.B. Space) splitten. Die Teilstrings mit den Suchkriterien überprüfen/vergleichen.

Script

Das folgende Script (bash|ksh) befühlt Shell Variablen mit Werten und übergibt sie an den AWK Code, welcher die Prüfung vornimmt.

Erklärung

  1. Shell Variablen $LISTSTRING und $SEARCHFOR mit Werten befühlen.
  2. Mit Shell die Variablen ausgeben, in welcher der zu durchsuchende String steht.
  3. Die echo Ausgabe von Shell mittels Pipe nach AWK umleiten bzw. AWK liest den Output vom Pipe.
  4. Mit -v die Shell Variable an eine AWK Variable schreiben.
  5. Mit print die Werte im AWK ausgeben – zur eigenen Überprüfung.
  6. Mit split den String an Hand eines definierten Trenner (Space) in ein Array schreiben.
  7. Mit for über alle Items im Array loopen.
  8. Innerhalb des FOR-Loops wird mit einem IF-Statement geprüft ob der Suchwert in dem jeweiligen Array-Item enthalten ist und nur dann ausgegeben wird.
(Visited 824 times, 2 visits today)

1 Comment AWK: String splitten und Teilstring mit bestimmten Zeichen finden

Schreibe einen Kommentar

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