gpt4 book ai didi

linux - 如何在 awk 中转义 {}?

转载 作者:IT王子 更新时间:2023-10-29 00:57:13 26 4
gpt4 key购买 nike

我有很多输入行,如下所示,我希望最终得到与此类似的输出

host tsclient010.tsclient {
option host-name "tsclient010.tsclient";
hardware ethernet 00E0C56BF96D;
fixed-address 192.168.246.10;
}

每个输入。但是我遇到了静态内容包含 {} 的问题。

echo "192.168.246.10 00E0C56BF96D tsclient010.tsclient" | awk '{print
host $3 {
option host-name "$3";
hardware ethernet $2;
fixed-address $1;
}
}'

输出:

awk: cmd. line:2:     host $3 {
awk: cmd. line:2: ^ syntax error

我试图通过 '\{' 对其进行转义,但没有成功。

问题

有谁知道如何转义所需的字符?

最佳答案

您不需要转义大括号。您需要引用它们并转义双引号。

awk '{printf "\
host %s {\
option host-name \"%s\";\
hardware ethernet %s;\
fixed-address %s;\
}\n", $3, $3, $2, $1
}'

关于linux - 如何在 awk 中转义 {}?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53103301/

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