正则和常用的log过滤规则

正则表达式组成:
修饰符:img

i:ignoreCase 忽略英文单词大小写匹配
m:multiline 可以进行多行匹配
g: global 正则表达式默认只会返回第一个匹配结果,使用标志符g则可以返回所有匹配,即

全局匹配
[]:中括号中出现的字符一般都代表本身的含义,并且不存在多位数

常见的字符集有:
[xyz]:匹配"x"或"y"或"z"
[^xyz]:补集,匹配除"x"或"y"或"z"的其他字符
[a-z]:匹配从"a"到"z"的任意字符
[^a-n]:补集,匹配除"a"到"n"的其他字符
[A-Z]:匹配从"A" 到"Z"的任意字符
[0-9]:匹配从"0"到"9"的任意数字
匹配所有字母和数字可以写成:/[a-zA-Z0-9]/或者/[a-z0-9]/i。

Quantifiers(量词)
{n}:匹配n次
{n,m}:匹配n-m次
{n,}:匹配>=nci
?:匹配0||1次
*:匹配>=0次,等价于{0,}
+:匹配>=1次,等价于{1,}

Metacharacters(元字符)
\d:匹配任意数字,等价于[0-9]
\D:匹配任意非数字字符;\d的补集
\w:匹配任意基于拉丁字母表中的字母和数字,以及下划线;等价于[A-Za-z0-9]
\W:匹配任意非基本拉丁字母表中的字母和数字,以及下划线;\w的补集
\s:一个空白字符(包含空格、制表符、换页符和其他Unicode空格)
\S:匹配一个非空白符;\s的补集
\b:匹配一个零宽单词的边界,如一个字母与一个空格之间;例如:/\bno/匹配"atnoon"中的"no",/ly\b/匹配"possibly yesterday.“中的"ly”
\B:匹配一个零宽非单词边界,如两个字母之间或两个空格之间;例如,/\Bon/ 匹配 “at noon” 中的 “on”,/ye\B/ 匹配 “possibly yesterday.” 中的 “ye”
\t:匹配一个水平制表符(一个tab键:四个空格)
\n:匹配一个换行符(newline)
\r:匹配一个回车符(carriage return)

Special Characters(特殊字符)
正则中存在一些特殊字符,它们不会按照字母意思进行匹配,而又特殊的意义

\:转义字符,可以将普通字符转成特殊字符,也可以将特殊字符转成字面意思(普通含义-特殊含义-普通含义)
.:匹配任意单个字符,但是换行符除外:\n,\r,\u2028或\u2029;在字符集中([.]),无特殊含义,即表示".“的字面意思
|:替换字符(alternate character),匹配|前或后的表达式。比如需要同时匹配"bear"和"pear”,可以使用/(b|p)ear/ 或者/bear|pear/;但是不能用/b|pear/,该表达式只能匹配"b"和"pear"
^:匹配输入的开始。
$:匹配输入的结尾。

Groups(分组)
(xyz):捕获分组(Capturing Group),匹配并捕获匹配项;例如,/(foo)/匹配且捕获到"foo bar.“中的"foo”。被匹配的子字符串可以在结果数组的元素[1],[2]…[n]中找到,或在被定义的RegExp对象的属性中找到
(?:xyz):非捕获分组(Non-capturing Group),匹配但不会捕获匹配项,匹配项不能再次被访问到
\n:n是一个正整数,表示反向引用(back reference),指向正则表达式第n个括号(从左开始数)中匹配的字符串;例如,/apple(,)\sorange\1/ 匹配 “apple, orange, cherry, peach.” 中的 “apple,orange,”

Assertion(断言)

x(?=y):仅匹配被y跟随的x; //例如 …xy…
x(?!y):仅匹配不被y跟随的x;例如,\d+(?!.) 只会匹配不被 “.” 跟随的数字。

x|y:x或者y中的一个字符
[xyz]:x、y或者z中的一个字符
[^xy]:除了x、y以外的任意字符
[a-z]:指定a-z范围中的任意字符 [0-9a-zA-Z]===\w
[^a-z]:上一个取反“非”
():正则中的分组符号
(?😃:只匹配不捕获
(?=):正向预查,=后面必须跟xxx
(?!):负向预查,!后面必须不跟xxx

0、Winodw下开发环境

start/gedit 打开 grep/findstr 过滤
linux下打开文件 gedit ,window下课使用 satrt xxx打开文件
linux下grep 可以过滤文件和内容,在window下可以使用 findstr 来过滤
adb logcat |egrep … adb logcat |fingstr xxx

find ./ -name “123” 搜寻文件

包名:
系统分身:
进入 com.coloros.systemclone/com.coloros.systemclone.ownerspace.OwnerEnterActivity
返回主 com.coloros.systemclone/com.coloros.systemclone.clonespace.ui.CloneSpaceActivity

Dumpsys

直接使用adb shell dumpsys命令系统将把所有系统服务的状态打印出来,适用于在系统发生了异常时,获取系统当前状态的 一个途径
将所有可以dump的系统服务列举出来
adb shell dumpsys -l
后边跟一个数字以秒为单位,表示将在多少秒之后进行dump操作
adb shell dumpsys -t
在dumpsys的过程中把某些系统服务过滤掉
adb shell dumpsys --skip SERVICES
指定某一个系统服务进行dump
adb shell dumpsys SERVICE[ARGS]
a.根据不同的系统服务加不同的参数,通过dumpsys SERVICE help查看相关的参数说明
b.与-t参数配合取得指定延迟之后的某条服务状态信息
举例:
获取当前的前台activity
adb shell dumpsys activity activities|grep mFocu
获取当前电池状态
adb shell dumpsys battery
获取设置应用的内存信息
adb shell dumpsys meminfo com.android.settings

观看栈顶的activity
adb shell dumpsys activity containers
default

adb shell dumpsys activity | findstr “mResume”
adb shell dumpsys window | findstr mCurrentFocus

本地抓的直接在这个界面用下面指令就可以了
adb shell dumpsys SurfaceFlinger >sf.txt

data/system/users/0/ 下面如 wallpaper_lock (存放当前的壁纸 )

壁纸路径 cd my_product/decouping_wallpaper/common

导出 手机截图
adb pull /sdcard/Pictures/Screenshots/Screenshot_2022-06-20-16-05-09-60_9d7e93b099cf6a19564e13d6f463a0b8.jpg

adb logcat -v time > C:\log.txt

adb pull /sdcard/Android/data/com.oplus.logkit

D:\code\simg2img\simg2img.exe -i D:\code\simg2img\my_bigball_export_realme_Light_LATAM_CLARO_LATAM_226AF_226AF.0.0.2022111610552712513778.img -o my_bigball

adb pull /sdcard/Android/data/com.oplus.logkit/files/Log

1、卡顿:User Switch timeout
1.1 、绑定壁纸:WallpaperManagerService: bindWallpaperComponentLocked:
1.2、视频动态壁纸卡住 992723 :
NOTE: preroll in progress, delay renderer resume
2、静态壁纸:
ImageWallpaperRenderer:
WallpaperManagerService:
WallpaperService: Delivering touch event:
WindowManager: remove wallpapertarget window without animation
ActivityTaskManager: Config changes
PreveiwBitmapManager:

3、锁屏壁纸:
LocalWallpaperHelper
Launcher.LauncherBitmapManager:
Colorful_

4、壁纸备份还原
BackupManagerService:
WallpaperBackup:

5、桌面
桌面TIME_TICK超时:2004055
桌面:Launcher.Launcher:

6、界面显示:
OplusLayer: setAlpha
OplusExLayer: setAlpha
WindowManager: addWindow: win
WindowManager: SURFACE SHOW

7、界面隐藏:
WindowManager: SURFACE HIDE

8、屏幕解冻:
WindowManager: Screen frozen for

9、输入法:
InputMethodManager
InputMethodService

10、多用户:
HWC layers
启动进程: ActivityManager: Start proc
启动Activity: ActivityManager: START u0
ActivityTaskManager: START u0

切换窗口: WindowManager: Changing focus

11、掉帧:
Choreographer: Skipped

12、ANR_LOG :
event log: am_anr
ViewRootImpl

13、视频解码
第一帧完成:NuPlayer: NOTE: Video preroll complete… resume renderer…

14、桌面上点击图标:Launcher.ItemClickHandler: (main)onClick

15、垃圾回收:dalvikvm / art :

16、第一次开机应用主题: OppoThemeApplyUtil

17、主题商店应用主题: TSpace.

18、编译失败:
COMPILE_RESULT
fail
error

19、护眼模式
行 22702: 01-31 18:11:38.531480 30448 30448 D EyeProtectTileService: onClick:false 38关闭了护眼模式已经

AndroidStudio 文件过滤

1、正则表达式过滤log:

i 任意大小写、m匹配多行、g只返回第一个结果
? 0/1、* >=0、+ >=1
^开头、$结尾、.* 任意字符、
?=相同、?!不同
\d数字、\w数字字母、\转义、
[0-9] [a-z]

^ re.x(?=\d).\d$ //re开头 数字结尾
1、数量
git log -3

2、根据提交用户查看 git log
git log --author=“guo.*”

3、根据提交时间过滤
get log --after=“yesterday”
1 week ago 、yesterday
注意–since 、–until 标记和–after 、–before

4、根据提交信息过滤
git log |egrep “黄|何”
git log --grep=“黄”

5、根据文件过滤
git log – foo.py bar.py
6、根据内容过滤
git log -S “Hello, World!”
7、根据范围过滤
git log 提交版本1 提交本版2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值