【问题标题】:Can I use grep in place of awk?我可以使用 grep 代替 awk 吗?
【发布时间】:2015-08-07 10:36:21
【问题描述】:

我正在尝试获取此输出(为便于阅读添加了换行符,阅读时请丢弃):

mCurrentFocus=Window{167ead2f u0
  com.google.android.googlequicksearchbox/com.google.android.launcher.GEL}

并提取这个:

com.google.android.googlequicksearchbox

仅使用 Android 原生可用的工具,例如 grep。

以下命令会执行此操作,但它们使用 cut rev 和 awk。

dumpsys window windows | grep mCurrentFocus |
    cut -d'/' -f1 | rev | cut -d' ' -f1 | rev
dumpsys window windows | grep mCurrentFocus |
    awk '{print $3}' | awk -F '/' '{print $1}'

有什么想法吗?

【问题讨论】:

    标签: android bash shell grep ksh


    【解决方案1】:

    我对 Android 上的可用功能一无所知,但这可能会对您有所帮助:

    $ dumpsys window windows | grep mCurrentFocus | grep -o '[^/]*' | grep -o '\S*$'
    

    第一个 grep:找到包含 mCurrentFocus 的行

    第二个 grep:打印直到第一个'/'的所有内容

    第三个​​ grep:打印非空格字符后缀

    【讨论】:

    • 这正是我要找的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-08-11
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多