我正在尝试使用 执行数学运算sed
,但它继续将我的变量视为字符串。输入是这样的:
$ echo 12 | sed 's/[0-9]*/&+3/'
$ 12+3
Run Code Online (Sandbox Code Playgroud)
我想要 15 作为输出。我只需要在一个段落中执行操作并替换其数学结果,因为我将程序作为 Python 守护程序运行,并且我想避免像重定向stdout
文件、打开这些文件、执行操作、提取结果、执行这样的段落更换。对我来说,sed
似乎最好在一行中执行所有操作。
我尝试以各种方式同时投射输入和输出,例如
$ echo 12 | sed 's/[0-9]*/int(&+3)/'
$ echo 12 | sed 's/[0-9]*/\int(&+3)/'
$ echo 12 | sed 's/[0-9]*/\int(&+3)/'
Run Code Online (Sandbox Code Playgroud)
但结果总是打印第二个字段。