Unix awk给出了以下错误
“awk:未定义函数systime。”Unix awk给出了以下错误,unix,shell,scripting,sed,awk,Unix,Shell,Scripting,Sed,Awk,“awk:未定义函数systime。” 但systime是一个内置命令似乎是一个awk“味道”问题 GAWK(gnu awk)包括systime(),但您使用的版本可能不 除非systime调用是为了跟踪awk脚本本身内的时间差,否则避免缺少awk systime()函数的一个技巧是将此系统变量的值作为变量在awk命令行上传递。似乎是awk“风格”的问题 GAWK(gnu awk)包括systime(),但您使用的版本可能不 除非systime调用旨在跟踪awk脚本本身内的时间差,否则避免缺少a
但systime是一个内置命令似乎是一个awk“味道”问题 GAWK(gnu awk)包括systime(),但您使用的版本可能不
除非systime调用是为了跟踪awk脚本本身内的时间差,否则避免缺少awk systime()函数的一个技巧是将此系统变量的值作为变量在awk命令行上传递。似乎是awk“风格”的问题 GAWK(gnu awk)包括systime(),但您使用的版本可能不
除非systime调用旨在跟踪awk脚本本身内的时间差,否则避免缺少awk systime()函数的一个技巧是将此系统变量的值作为变量在awk命令行上传递。例如,在我的系统上安装了
gawk
和mawk
echo |mawk '{print systime()}'
产生:
mawk: line 2: function systime never defined
1252953754
当
产生:
mawk: line 2: function systime never defined
1252953754
例如,在我的系统上同时安装了
gawk
和mawk
echo |mawk '{print systime()}'
产生:
mawk: line 2: function systime never defined
1252953754
当
产生:
mawk: line 2: function systime never defined
1252953754
在Solaris上,默认情况下,
/usr/bin/awk
是指向/usr/bin/oawk
的链接,它不会将systime
识别为内置(或第7版awk上的许多其他扩展)。重新链接/usr/bin/awk
到/usr/bin/nawk
或直接使用nawk
,或者安装GNU awk(gawk
)并使用它
其他Unix系统(如HP-UX、AIX)可能也存在类似问题。MacOS X(推断为BSD)安装了非GNU、非扩展版的
awk
(感谢您的更正,DMcKee)。Linux没有;它使用GNU Awk作为主/唯一Awk
。当然,GNU Awk可以很容易地安装在这些系统中的任何一个上。在Solaris上,/usr/bin/Awk
默认是指向/usr/bin/oawk
的链接,该链接不将systime
识别为内置(或第7版Awk上的许多其他扩展)。重新链接/usr/bin/awk
到/usr/bin/nawk
或直接使用nawk
,或者安装GNU awk(gawk
)并使用它
其他Unix系统(如HP-UX、AIX)可能也存在类似问题。MacOS X(推断为BSD)安装了非GNU、非扩展版的
awk
(感谢您的更正,DMcKee)。Linux没有;它使用GNU Awk作为主/唯一Awk
。当然,GNU Awk可以很容易地安装在这些系统中的任何一个上。下面是我为获得时间戳所做的工作
nawk '{system("date +%Y-%m-%d %H:%M:%S|tr -d \"\n\"");print" " $0 } '
这是我为得到时间戳所做的
nawk '{system("date +%Y-%m-%d %H:%M:%S|tr -d \"\n\"");print" " $0 } '
你能告诉我们你使用的全部命令吗?用如此有限的信息很难判断你在寻找什么。谢谢你能告诉我们你使用的全部命令吗?用如此有限的信息很难判断你在寻找什么。谢谢更正:至少对于10.4和10.5,Mac OS默认情况下不使用gawk。使用fink(或者可能是macports)很容易安装。更正:至少对于10.4和10.5 Mac OS,默认情况下不使用gawk。使用fink(或macports)可以轻松安装它。