dumpsys window | grep -E 'mCurrentFocus' | cut -d/ -f2 | cut -d" " -f1 | | sed 's/[{}]//g' 用这个只要最后一行
时间: 2024-03-01 22:50:56 浏览: 17
如果您只想要输出结果的最后一行,可以使用 tail 命令,如下所示:
```
dumpsys window | grep -E 'mCurrentFocus' | cut -d/ -f2 | cut -d" " -f1 | sed 's/[{}]//g' | tail -n 1
```
在这个命令中,tail -n 1 表示只输出结果的最后一行。也就是说,这个命令只会返回当前焦点窗口的完整名称,而不会输出任何其他行。
相关问题
dumpsys window | grep -E 'mCurrentFocus' | cut -d/ -f2 | cut -d" " -f1 就要这种
好的,那么这个命令会输出当前屏幕上的应用程序包名,输出结果类似于:
```
com.rxgb.launcher.activity.MainActivity
```
你可以使用字符串的 `split()` 方法进一步将其分割成应用程序包名和窗口名称,具体示例如下:
```python
output = "mCurrentFocus=Window{c43ba6c u0 com.rxgb.launcher/com.rxgb.launcher.activity.MainActivity}"
package_name = output.split(" ")[-1].split("/")[0]
window_name = output.split(" ")[-1].split("/")[-1]
print("Package Name:", package_name)
print("Window Name:", window_name)
```
输出结果如下:
```
Package Name: com.rxgb.launcher
Window Name: com.rxgb.launcher.activity.MainActivity
```
这样就可以得到当前屏幕上的应用程序包名和窗口名称了。
dumpsys window | grep -E 'mCurrentFocus' | cut -d/ -f2 | cut -d" " -f1 com.rxgb.launcher.activity.MainActivity} 还有一个花括号
非常抱歉,我的回答有误。正确的命令应该是:
```
dumpsys window windows | grep -E 'mCurrentFocus' | cut -d'/' -f1 | rev | cut -d' ' -f1 | rev
```
这个命令会输出当前屏幕上的应用程序包名。
输出结果类似于:
```
com.rxgb.launcher
```
这里使用了 `rev` 命令来反转字符串,然后再次使用 `rev` 命令来倒转字符串。这是因为 `cut` 命令只能从左往右进行分割,而我们需要从右往左进行分割,所以需要先反转字符串,然后再分割,最后再倒转字符串。
关于输出结果中的花括号,这是因为在 Android 中,窗口名称可能包含一些额外的信息,例如窗口类型、窗口标记等等,这些信息会用花括号括起来。所以在处理输出结果时需要注意这一点。