awk не имеет функции eval(...)
. Это означает, что вы не можете выполнять перевод строки в код на основе ввода после инициализации программы awk. Хорошо, возможно, это можно сделать, но не без написания вашего собственного механизма анализа и анализа в awk.
Я бы рекомендовал использовать bc
для этого усилия, например
[edwbuck@phoenix ~]$ echo "s(0.3)" | bc -l
.29552020666133957510
Обратите внимание, что для этого потребуется sin
сократить до s
, поскольку это bc
операция синуса.