awk 给出以下错误

发布于 2024-08-05 06:38:11 字数 54 浏览 2 评论 0原文

“awk:函数 systime 未定义。”

但 systime 是一个内置命令

"awk: Function systime is not defined."

but systime is a built in command

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

奈何桥上唱咆哮 2024-08-12 06:38:11

在 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 可以轻松安装在任何这些系统上。

On Solaris, /usr/bin/awk is by default a link to /usr/bin/oawk, which does not recognize systime as a built in (or a lot of other extensions over the 7th Edition AWK). Either relink /usr/bin/awk to /usr/bin/nawk or use nawk directly, or get GNU Awk (gawk) installed and use that.

Other Unix systems like HP-UX, AIX may have similar issues. MacOS X (and, by inference, BSD) install a non-GNU, non-extended version of awk (thanks for the correction, DMcKee). Linux does not; it uses GNU Awk as the main/only awk. Of course, GNU Awk can easily be installed on any of these systems.

_畞蕅 2024-08-12 06:38:11

似乎是 awk“风味”的问题。

GAWK (gnu awk) 包含 systime(),但也许您使用的版本不包含...

除非 systime 调用是为了跟踪 awk 脚本本身内的时间差异,这是避免缺少 awk systime() 的技巧功能是将这个系统变量的值作为 awk 命令行上的变量传递。

Seems to be a matter of awk "flavor".

GAWK (gnu awk) includes systime(), but maybe the version you are using does not...

Unless systime calls are meant to keep track of time differences within the awk script itself, a trick to circumvent the lack of awk systime() function would be to pass the value of this system variable as a variable on the awk command line.

ゃ人海孤独症 2024-08-12 06:38:11

例如,在我的系统上,同时安装了 gawkmawk

echo |mawk '{print systime()}'

产生:

mawk: line 2: function systime never defined

同时

echo |gawk '{print systime()}'

产生:

1252953754

As an example, on my system both gawk and mawk are installed.

echo |mawk '{print systime()}'

produces:

mawk: line 2: function systime never defined

while

echo |gawk '{print systime()}'

produces:

1252953754
千仐 2024-08-12 06:38:11

这是我为获取时间戳所做的事情

nawk '{system("date +%Y-%m-%d %H:%M:%S|tr -d \"\n\"");print" " $0 } '

Here is what I did to get the time stamp

nawk '{system("date +%Y-%m-%d %H:%M:%S|tr -d \"\n\"");print" " $0 } '
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文