Sed заменяет строку сертификатами ca

awkне имеет способа вычислить общее арифметическое выражение, переданное ему в виде строки. bc, с другой стороны, берет выражение и вычисляет его, как это делает оболочка.

Если вы хотите оценить строку как математическое выражение в awk, вам нужно либо внедрить выражение как код в программу awk(, потенциально создающую уязвимость внедрения кода. ), или просто напишите свой собственный синтаксический анализатор для типов выражений, которые вы хотите оценить (это обычное домашнее задание по информатике ).

Вы получаете 12из кода awk, потому что значение expression_to_evaluateпри преобразовании в целое число может быть преобразовано до символа пробела в строке. Вот как работает библиотечная функция strtol()C, когда она преобразует строку в целое число, и awk, вероятно, использует это под капотом.

0
08.04.2021, 22:39
1 ответ

Я могу выполнить задачу с помощью ниже

printf '%s\n' '/caCertificates :{}/r RE -ca.crt' 1 '/caCertificates :{}/d' w | ed values.yaml

-1
28.04.2021, 22:53

Теги

Похожие вопросы