这或多或少是以下两个问题的跟进问题:
我看到在Solaris 10(SunOS 5.10)上,我得到以下结果:
$ type -a awk
awk is /usr/bin/awk
$ PATH="$(getconf PATH)" type -a awk
awk is /usr/xpg4/bin/awk
awk is /usr/bin/awk
$
在Solaris 10上,/usr/bin/awk
不接受POSIX标准awk中语法如'!x[$0]++'
,但/usr/xpg4/bin/awk
确实。到目前为止足够好了。
但是,在Solaris 11上,/usr/bin/awk
甚至只有getconf PATH
。虽然也有nawk
和oawk
是/usr/bin
,这些显然都没有指出,一些从任何地方符号链接。
知道Solaris已获得POSIX认证,这使我感到惊讶。
如何使用可移植代码在Solaris 11上标准地获得与POSIX兼容的Awk,这些代码也可以在其他与POSIX兼容的系统上工作?(或者是检查nawk
or 是否存在oawk
并使用其中一个(如果存在)的唯一选择?)
因此,什么是 nawk
和oawk
?
/usr/xpg4/bin/awk
是不是在Solaris 11中?nawk
是“新的awk
”,是改进的AT&Tawk
。