我有一个bash脚本,它将从原始日志文件中提取的一些数据写入csv格式的文件中。现在我想在此数据集上应用libreoffice calc公式。我的想法是直接从bash脚本在csv文件中编写“原始”计算公式(使用';'[分号]而不是','[逗号]来分隔数据以避免破坏公式)。所以我有一个这样的脚本(例如):
#!/bin/bash
for (( i=1; i<=5; i++ ))
do
echo "$i; $((i+1)); =SUM(A$i, B$i)" >> sum.csv
done
执行此脚本会提供此sum.csv
文件:
1; 2; =SUM(A1, B1)
2; 3; =SUM(A2, B2)
3; 4; =SUM(A3, B3)
4; 5; =SUM(A4, B4)
5; 6; =SUM(A5, B5)
当我用calc打开它时,它给出了预期的结果,每个值在单个单元格中分开。但问题是不评估公式。即使手动编辑单元格也不会触发评估。唯一有效的方法是复制没有'='的公式并手动写'=',然后粘贴公式。
我尝试使用INDIRECT()
但它没有帮助。
有没有办法强制评估公式?或者是否有其他方法可以做我想要的事情(没有学习新语言......)?
它应该在等号前删除前导空格后工作。第三个字段目前有内容 =SUM(A1, B1)
(注意领先的空间)。如果内容以=
而不是 =
开头,LO将识别公式:
1;2;=SUM(A1, B1)
2;3;=SUM(A2, B2)
3;4;=SUM(A3, B3)
4;5;=SUM(A4, B4)
5;6;=SUM(A5, B5)