为什么 egrep 在 AIX 上不能正常工作?

why egrep doesn't work correctly on AIX?

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

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

我也有2台机器一台Linux一台Aix。在 Linux 上,此命令运行得非常好。在 Aix 上它不会 - 它不会 return results.Even 更多,在 Aix 上以下命令会 return 结果:

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

这是什么原因?

AIX 中提供的非 GNU egrep 显然不支持 '\s' 转义序列,至少根据我的测试是这样。

尝试以下方法:

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

这似乎适用于 AIX pgrep。

(但仍然想知道 egrep '^\s*(int|void)\s+' *.c* 如何为您工作,因为它似乎对我不起作用)