【发布时间】:2018-07-20 12:31:46
【问题描述】:
我可以在下面的 awk 命令中以变量的形式给出 value(32) 而不是直接硬编码 32 吗?
df -h | head -1|awk '{printf "%s%32s",$1,$2}'
我试过awk -v var=32,但它不起作用。
谁能推荐我。
【问题讨论】:
-
its not working是您可以给出的最糟糕的失败描述之一,通常会引起阅读它的每个人的呻吟。永远不要只说it's not working- 告诉我们它在什么方面不起作用。语法错误,错误输出,无输出,核心转储,还有什么?并准确地向我们展示你运行失败的脚本,不要只显示它的开始 - 我们不知道你在初始化之后对var做了什么,所以我们无法告诉你哪里出错了。 -
他没有使用 shell 变量,并且他正在做正确的事情将 shell 值传递给 awk 脚本,问题在于他使用该变量所做的任何事情,他还没有向我们展示该代码.我怀疑问题是如何在 printf 格式化字符串中使用 awk 变量,而不是如何使用 shell 变量。