gpt4 book ai didi

linux - bash printf 反斜杠然后换行

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:02:43 24 4
gpt4 key购买 nike

我正在尝试将其从 bash 创建到 c header 中

#define XXXXX \

"id title\n" \

"1 developer\n" \

the script is

FORMAT=" \"%-4s %-32s\\\n"

printf "$FORMAT" "id" "title\\n\"" >> $FILE

printf "$FORMAT" "1" "Developer\\n\"" >> $FILE

结果是

"id    title\n"                        \n  "1     Developer\n"                              \n

当我改变FORMAT="%-4s %-32s\\\n"

我明白了

"id    title\n"                           \ 
"1 Developer\n" \

并且 gcc 开始提示 \

之后的额外空间

如果没有空格,\\ 似乎会被解释多次。

不使用FORMAT="%-4s %-32s\\"

printf "$FORMAT" "id" "title\\n\"" >> $FILE

printf "\n" >> $FILE
...

有没有更好的方法来处理这个问题?

最佳答案

使用十六进制转义序列:

FORMAT="%-4s %-32s \x5C\n"

关于linux - bash printf 反斜杠然后换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18113862/

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