
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