Android shell脚本grep
我正试图使用Android shell(带Busybox)编写一个脚本来扫描一些.xml文件以提取信息,但是,我在一些优化方面遇到了困难 不应该,比如Android shell脚本grep,android,grep,Android,Grep,我正试图使用Android shell(带Busybox)编写一个脚本来扫描一些.xml文件以提取信息,但是,我在一些优化方面遇到了困难 不应该,比如 (ax)b 相配 axbxc 事实并非如此;当我尝试在Android上执行此操作时(4.2.2,Busybox 1.20.2,如果有必要的话?) 不返回任何内容,而 grep "axb" \sdcard\test.txt 正如预期的那样 axbxc 同样,我们不应该这样做 (?>ax)b 是否也返回axbxc?(这是我想要应用的实
(ax)b
相配
axbxc
事实并非如此;当我尝试在Android上执行此操作时(4.2.2,Busybox 1.20.2,如果有必要的话?)
不返回任何内容,而
grep "axb" \sdcard\test.txt
正如预期的那样
axbxc
同样,我们不应该这样做
(?>ax)b
是否也返回axbxc?(这是我想要应用的实际优化。)
是什么导致了这个问题?另外,有人知道正则表达式引擎Busybox使用的是什么吗,这样我就可以专门阅读它了。要在grep(以及Busybox grep)中启用扩展正则表达式,您需要使用
grep-E
或egrep
(egrep
是grep-E
的快捷方式)
我已经用busybox grep测试了这一点,两种方法都按预期工作,并且与您的正则表达式匹配
至于
(?>ax)b
——只有当您可以使用grep-p
(支持与Perl兼容的正则表达式)时,这才有效。但是,busybox grep不支持此切换,因此“向前看”和“向后看”匹配将不起作用。。。。哦谢谢嗯,我现在觉得自己很傻。你知道什么是regex引擎Busybox吗?
(?>ax)b