我有一个bash脚本,它将从原始日志文件中提取的一些数据写入csv格式的文件中。现在我想在此数据集上应用libreoffice calc公式。我的想法是写" raw"直接来自bash脚本的csv文件中的calc公式(使用&#39 ;;' [分号]代替',#39; [逗号]分隔数据以避免破坏公式)。所以我有一个这样的脚本(例如):
#!/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打开它时,它给出了预期的结果,每个值在单个单元格中分开。但问题是不评估公式。即使手动编辑单元格也不会触发评估。唯一有效的方法是复制公式而不用&#39; =&#39;并手动编写&#39; =&#39;,然后粘贴公式。
我尝试使用INDIRECT()
,但它没有帮助。
有没有办法强制评估公式?或者是否有其他方法可以做我想要的事情(没有学习新语言......)?
答案 0 :(得分:2)
在等号前删除前导空格后应该有效。第三个字段当前具有内容 =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)