AWK-Sonderzeichen

AWK-Sonderzeichen

Wenn ich das folgende Muster in einer Datei awk

Mobilenumber '91_987986787688899' was successful

Ich habe den folgenden Code verwendet

awk '/Mobilenumber '91_987986787688899' was successful/ {print $0}' Log Filename

Obwohl die Protokolldatei diesen Satz enthält, wird kein Ergebnis angezeigt.

Ich habe eine Weile daran gearbeitet, aber es hat nicht geklappt. Bitte helfen Sie

Antwort1

Sie können auch Folgendes verwenden grep:

grep "91_987986787688899.*successful" file

Sofern Ihre Datei kein sehr merkwürdiges Format hat, können Sie wahrscheinlich auch einfach Folgendes tun:

awk '/91_987986787688899.*successful/' file

Dafür ist nichts erforderlich print $0, es ist implizit.

Antwort2

EinfachSchließen Sie Ihr Muster in doppelte Anführungszeichen ein. In Ihrem Fall sollten Sie jedoch escapen, $um eine Variableninterpolation durch die Shell zu vermeiden:

awk "/Mobilenumer '91_987986787688899' was successful/ {print \$0}" your_file

Sie können auch Folgendes verwenden sed, dessen Standardaktion darin besteht, den Musterbereich zu drucken:

sed "/Mobilenumer '91_987986787688899' was successful/" your_file   

verwandte Informationen