2024-07-06
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
existierenadb shell logcat
Kombiniert im Kommandogrep
Wenn Sie beim Filtern von Protokollen zwei Teilzeichenfolgen gleichzeitig abgleichen möchten, können Sie eine Pipe (|
) werden zweigrep
Befehl zum Verketten oder Verwendengrep
von-E
(oderegrep
, was äquivalent ist zu-E
)-Option zur Unterstützung erweiterter regulärer Ausdrücke, sodass Sie logisches ODER (|
), um mehrere Muster abzugleichen.
grep
BefehlBei dieser Methode ist die erstegrep
Der Befehl filtert Zeilen heraus, die den ersten Teilstring und dann den zweiten enthaltengrep
Aus diesen Zeilen filtert der Befehl dann die Zeilen heraus, die den zweiten Teilstring enthalten.
bash复制代码
adb shell logcat -b all | grep '子串1' | grep '子串2' |
grep
von-E
OptionenDieser Ansatz ist prägnanter, da er die Verwendung von a ermöglichtgrep
Im Befehl werden mehrere Modi gleichzeitig angegeben.
bash复制代码
adb shell logcat -b all | grep -E '子串1|子串2' |
Beachten Sie jedoch, dass der obige Befehl tatsächlich Zeilen findet, die „Teilzeichenfolge 1“ oder „Teilzeichenfolge 2“ enthalten, nicht beides. Wenn Sie zwei Teilzeichenfolgen gleichzeitig abgleichen möchten, sollten Sie Folgendes schreiben:
bash复制代码
adb shell logcat -b all | grep '子串1' | grep '子串2' |
Oder verwendengrep
von-z
(Hinweis: Dies ist kein Standardgrep
Teil, aber einige Versionen vongrep
oderzgrep
Unterstützung) bzwawk
Warten Sie, bis andere Tools den mehrzeiligen Abgleich übernehmen (dies ist normalerweise komplexer und für einfache Szenarien nicht erforderlich).
Wenn Sie jedoch wirklich zwei Teilzeichenfolgen in einem regulären Ausdruck abgleichen müssen (und die beiden Teilzeichenfolgen an beliebiger Stelle in derselben Zeile erscheinen können), können Sie das Analogon des logischen UND verwenden (obwohl Sie tatsächlich das logische ODER verwenden).|
, aber indem sichergestellt wird, dass beide Teilzeichenfolgen im Muster erscheinen):
bash复制代码
adb shell logcat -b all | grep -E '子串1.*子串2|子串2.*子串1' |
Dieser Befehl entspricht der Situation, in der „Teilzeichenfolge 1“ zuerst erscheint und dann „Teilzeichenfolge 2“ in derselben Zeile erscheint, oder wenn „Teilzeichenfolge 2“ zuerst erscheint und dann „Teilzeichenfolge 1“ erscheint. Beachten Sie, dass dieses Muster nicht unbedingt erfordert, dass die beiden Teilzeichenfolgen unmittelbar nebeneinander liegen. Zwischen ihnen kann eine beliebige Anzahl von Zeichen liegen.Wenn Sie sie direkt nebeneinander benötigen, können Sie das mittlere entfernen.*
。