继续三元运算符 ?: 在下一行

继续三元运算符 ?: 在下一行

我正在使用以下三元运算符?:

rl = globrl == 1 ? "?([-+])*([" dgt "])?([.,])+([" dgt "])"
                 : "^[-+]?[" dgt "]*[.,]?[" dgt "]+$"

看来 awk 不允许在新行中继续三元运算符。

答案1

Awk 语法对空格敏感。实际上,换行符是语法中的一个标记,而不是消失的空格。

但是,Awk 也支持反斜杠续行,类似于 C 预处理器、shell 和make

rl = globrl == 1 ? "?([-+])*([" dgt "])?([.,])+([" dgt "])" \
                 : "^[-+]?[" dgt "]*[.,]?[" dgt "]+

相关内容