【发布时间】:2016-02-19 00:01:08
【问题描述】:
您好,我使用的是 GNU awk 3.1.5 版,我在 KSH 脚本中指定了 2 个变量
PKNAME= ls -lt /var/db/pkg | tr -s " " | cut -d" " -f9
PKDATE= ls -lt /var/db/pkg/$PKNAME/ | tr -s " " | cut -d" " -f6-8
我试图通过使用
运行测试来证明我得到了正确的输出echo bar
awk -F, -v pkname="$PKNAME" -v pkdate="$PKDATE" 'BEGIN{print pkname, pkdate, "foo"; exit}'
echo baz
这样的输出结果是 2 个空格和 foo,就像这样
bar
foo
baz
我试过,双引号变量,单引号和反引号。还尝试了带反引号的双引号。
任何想法为什么不执行变量?我对 awk 还很陌生,感谢任何帮助!谢谢
我想可能无法在 awk 语句中运行子 shell 命令。这是真的吗?
【问题讨论】:
标签: ksh