我有一个简单的EGRIP用于搜索C/C++主文件(通过搜索主函数):

egrep '^\s*(int|void)\s+main' *.c*

我还有两台机器一台Linux一台Aix。在Linux上,这个命令运行得非常好。在Aix上,它不返回结果,在Aix上,以下命令返回结果:
egrep '^\s*(int|void)\s+' *.c*

这是什么原因?

最佳答案

AIX中提供的非GNUegrep显然不支持'\s'转义序列,至少根据我的测试。
尝试以下操作:

egrep '^[ \t]*(int|void)[ \t]+main' *.c*

这似乎对我的AIX pgrep有效。
(但仍然想知道egrep '^\s*(int|void)\s+' *.c*怎么能为你工作,因为它似乎对我不起作用)

关于regex - 为什么egrep无法在AIX上正常工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41185124/

10-13 01:56