我想知道在过滤tag names
日志时是否有任何方法可以将正则表达式应用于adb logcat
。我可以使用grep
管道,但是它适用于整个文本,而不是标签名称。我只想在标签名称中应用正则表达式。例如,
$ adb logcat -v tag | grep MyData*
产生
D/MyActivity: calling MyDataManager
D/MyDataManager: data1 inserted
D/MyDataWorker: data1 inserted
但是我的预期输出是
D/MyDataManager: data1 inserted
D/MyDataWorker: data1 inserted
该怎么做?
答案 0 :(得分:0)
tag
上adb logcat
上的regexp不支持grep。但是,Below为我工作,以匹配所有标签以Activ
开头的日志。
adb shell logcat | grep -P "^\S+\s+\S+\s+\S+\s+\S+\s+\S+\s+Activ"
-P
用于Perl之类的regexp支持。
用\s whitespace
和\S non whitespace
字符构成图案,直到达到tag
。
例如,在下面的日志中,它以非空格'07 -08'开头,它将与模式中的第一个\S+
相匹配。其余模式也是如此。
07-08 17:13:00.042 1677 1708 D ActivityManager:cleanUpApplicationRecord-475