我有一个包含以下值的文件。我正尝试从文件中读取并在最后一个值上加1096,然后在屏幕上生成输出。我的原始文件看起来像这样。
agile_prod_toolkit,30
alsv2_prod_app,30
alsv2_qa_app,15
我期望的输出应该是这样的。第三个值是第二个值加上1096
agile_prod_toolkit,30,1126
alsv2_prod_app,30,1126
alsv2_qa_app,15,1111
我尝试的是
while IFS="," read line ret;do
value=$ret+1095
print $line,$ret,$value
done < final_original
但这似乎不起作用。有人能告诉我我做错了什么吗?
当我运行上述命令时,我得到的输出是这样的
agile_prod_toolkit,30,30+1095
alsv2_prod_app,30,30+1095
alsv2_qa_app,15,15+1095
value=$ret+1095
不是算术赋值,而且 bash shell 没有print
命令(你可能是指printf
?)。你可以这样做:
或者使用更现代的算术语法和 printf:
但事实上,shell 并不是用来进行文本/算术处理的 - 考虑使用像
awk
或miller
这样的工具: