尝试使用系统在 awk 中获取月份名称

发布于 2024-12-22 09:18:50 字数 105 浏览 0 评论 0原文

我试图使用以下代码获取 awk 中的月份名称。

 system("date -d" dat "+%b")

如何将输出分配给变量?

I am trying to get the name of the month in awk using the following code.

 system("date -d" dat "+%b")

How do I assign the output to a variable?

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

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

发布评论

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

评论(3

难以启齿的温柔 2024-12-29 09:18:50

您需要使用system()吗? awk 的 strftime() 怎么样?您可以在此处查看示例(尽管它似乎是 GNU- awk 特定)。

Do you need to use system()? What about awk's strftime()? You can look at an example here (though it seems to be GNU-awk specific).

2024-12-29 09:18:50

如果您的问题是“如何使用命令行的输出填充变量”,那么答案是“管道”。 :-)

$ awk 'BEGIN{ str="date \"+%b\""; str | getline content; print content; }'
Dec

请注意,这可能不是您真正想要做的事情,但如果没有更多关于您的意图的详细信息,至少它回答了您的问题。

If your question is "How do I populate a variable with the output of a command line", then the answer is "pipes". :-)

$ awk 'BEGIN{ str="date \"+%b\""; str | getline content; print content; }'
Dec

Note that this is probably not what you really want to be doing, but without more detail about your intentions, at least it answers your question.

北恋 2024-12-29 09:18:50

你可以做这样的事情 -

[jaypal:~/Temp] awk -v dat="20111016" 'BEGIN{split("Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec",month,","); a=substr(dat,5,2); print month[a]}'
Oct

You can do something like this -

[jaypal:~/Temp] awk -v dat="20111016" 'BEGIN{split("Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec",month,","); a=substr(dat,5,2); print month[a]}'
Oct
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文