Wenn Sie nach einer bestimmten Zeichenfolge suchen, setzen Sie sie in Anführungszeichen:
awk '$1 == "findtext" {print $3}'
Andernfalls nimmt awk an, dass es sich um einen Variablennamen handelt.
Abhängig vom AWK
Implementierung verwenden Sie ==
ist ok oder nicht.
Haben Sie ~
versucht ?. Wenn zum Beispiel $1 "Hallo" sein soll:
awk '$1 ~ /^hello$/{ print $3; }' <infile>
^
bedeutet $1 Start und $
ist $1 Ende.
Diese Methode verwendet Regexp, es sollte funktionieren:
awk '$2 ~ /findtext/ {print $3}' <infile>