Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix awk给出了以下错误_Unix_Shell_Scripting_Sed_Awk - Fatal编程技术网

Unix awk给出了以下错误

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

“awk:未定义函数systime。”


但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)可以轻松安装它。