gpt4 book ai didi

awk - 如何在AWK printf中转义百分号?

转载 作者:行者123 更新时间:2023-12-04 12:06:56 28 4
gpt4 key购买 nike

我正在制作一个 awk 语句,它允许我在屏幕上打印一些 unicode nop(在测试中,其中 18 个)。它目前看起来如下所示:

awk 'BEGIN {while (c++<18) printf "%u9090"}'

当它执行时,它会返回一个运行时错误:

awk: run time error: not enough arguments passed to printf("%u9090")



我意识到我必须转义我的 % 字符,因为我没有将任何变量传递给 awk,它正在等待它们。我修改为以下内容:
awk 'BEGIN {while (c++<18) printf "\%u9090"}'

但是我仍然遇到同样的错误? gnu documentation建议我应该使用 \ 来逃避所以我有点不知道还有什么可尝试的。

最佳答案

全部 printfs我知道(并且按照 C 标准在 C 中)允许您使用 %% 指定文字百分比.

您引用的 GNU 文档告诉您如何转义 中的特殊字符。字符串文字 .但是, printf 的第一个 arg 被解释为格式字符串,因此字符串文字转义机制是错误的地方。查找的正确位置是 printf 规范(对于 awk,或者如果所有其他方法都失败,则为 C 语言)。

关于awk - 如何在AWK printf中转义百分号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43385620/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com