Awk编程:实用功能与用户自定义函数详解
1. POSIX日期工具的Awk实现
在日常编程中,日期和时间的处理是常见需求。POSIX标准下的日期工具通常能以特定格式打印当前日期和时间。若给其传入以 '+' 开头的参数,它会将非格式说明符的字符复制到标准输出,并依据字符串中的格式说明符解析当前时间。例如:
$ date '+Today is %A, %B %d, %Y.'
Today is Monday, September 22, 2014.
以下是gawk版本的日期工具实现,它带有一个shell“包装器”来处理 -u 选项,该选项要求日期以UTC时区运行:
#! /bin/sh
#
# date --- approximate the POSIX 'date' command
case $1 in
-u) TZ=UTC0 # use UTC
export TZ
shift ;;
esac
gawk 'BEGIN {
format = PROCINFO["strftime"]
exitval = 0
if (ARGC > 2)
exitval = 1
else if (ARGC == 2) {
format = ARGV[1]
if (format ~ /^\+/)
format = substr(format, 2) # r
超级会员免费看
订阅专栏 解锁全文
4

被折叠的 条评论
为什么被折叠?



