我对下面的xargs行为感到困惑。
1这个命令起作用。
$ adb shell 'find /system/etc/permissions/ | xargs grep gid=\"system\"'
/system/etc/permissions/com.qualcomm.location.xml: <group gid="system" />
/system/etc/permissions/platform.xml: <group gid="system"/>
/system/etc/permissions/platform.xml: <group gid="system"/>2这个命令也能工作。
$ adb shell 'grep -B 4 gid=\"system\" /system/etc/permissions/*'
/system/etc/permissions/com.qualcomm.location.xml-<permission name="com.qualcomm.permission.IZAT" >
/system/etc/permissions/com.qualcomm.location.xml- <group gid="gps" />
/system/etc/permissions/com.qualcomm.location.xml- <group gid="net_raw" />
/system/etc/permissions/com.qualcomm.location.xml- <group gid="net_admin" />
/system/etc/permissions/com.qualcomm.location.xml: <group gid="system" />
-- snip -- snip --3此命令不起作用。
$ adb shell 'find /system/etc/permissions/ | xargs grep -C 4 gid=\"system\"'
usage: grep [-EFivwcloqsHbhn] [-m MAX] [-e REGEX]... [-f REGFILE] [FILE]...
-- snip -- snip --
grep: Unknown option C4补充资料。
$ adb shell 'grep'
usage: grep [-abcDEFGHhIiJLlmnOoPqRSsUVvwxZz] [-A num] [-B num] [-C[num]]
[-e pattern] [-f file] [--binary-files=value] [--color=when]
[--context[=num]] [--directories=action] [--label] [--line-buffered]
[pattern] [file ...]提前谢谢。
更新:
问题1解决了。使用/system/bin/grep而不是grep可以工作。但我还是不知道3号grep是从哪里来的。
发布于 2017-04-28 09:58:23
仔细看
usage: grep [-abcDEFGHhIiJLlmnOoPqRSsUVvwxZz] [-A num] [-B num] [-C[num]]看起来-C不允许空白,不像-A和-B。试一试
adb shell 'find /system/etc/permissions/ | xargs grep -C4 gid=\"system\"'来验证这个假设。如果这不能修复它,请尝试使用--context=4而不是-C 4。
发布于 2021-10-12 05:53:32
亚洲开发银行外壳'find /system/etc/ sended /\ xargs grep -C4 gid=“system”在这里看,您已经将整个命令用引号括起来并发送到adbshell,因此它使用安装在android上的xargs,这在选项上是非常有限的。
其他命令之所以有效,是因为它们使用安装在具有更多功能的windows计算机/ linux机器上的xargs。
https://stackoverflow.com/questions/43675997
复制相似问题