У меня есть сценарий bash, который записывает некоторые данные, извлеченные из необработанных файлов журнала в файл в формате csv. Теперь я хочу применить формулы libreoffice calc для этого набора данных. Моя идея состоит в том, чтобы написать формулу «raw» calc в файле csv непосредственно из сценария bash (используя «;» [точка с запятой] вместо «,» [запятая], чтобы разделить данные, чтобы не нарушать формулы). Поэтому у меня есть сценарий, как это (например):Scripting libreoffice calc formula в 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)
Когда я открываю его с известково, это дает ожидаемый результат с каждым значением отделенного в одной ячейке. Но проблема в том, что формулы не оцениваются. Даже ручное редактирование ячейки не вызывает оценку. Единственное, что нужно сделать, это скопировать формулы без '=' и вручную записать '=', а затем вставить формулы.
Я пробовал использовать INDIRECT()
, но это не помогло.
Есть ли способ принудительно оценить формулы? Или есть какой-то другой способ делать то, что я хочу (не изучая новый язык ...)?