2016-07-29 1 views
1

원시 로그 파일에서 추출한 일부 데이터를 csv 형식의 파일에 기록하는 bash 스크립트가 있습니다. 이제이 데이터 세트에 libreoffice calc 공식을 적용하려고합니다. 내 생각은 bash 스크립트에서 csv 파일에 직접 "원시"calc 공식을 쓰는 것입니다 (공식을 위반하지 않도록 데이터를 구분하기 위해 ','[쉼표] 대신 ';'[세미콜론] 사용).libreoffice calc 수식을 csv로 스크립팅

내가 CALC와 함께 열
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) 

, 그것은 분리 된 각각의 값과 예상되는 결과를 제공합니다 :이 스크립트를 실행

#!/bin/bash 
for ((i=1; i<=5; i++)) 
do 
    echo "$i; $((i+1)); =SUM(A$i, B$i)" >> sum.csv 
done 

sum.csv 파일을 제공합니다 그래서 (예를 들어) 같은 스크립트가 있습니다 단일 세포. 그러나 문제는 수식이 평가되지 않는다는 것입니다. 수동으로 셀을 편집해도 평가가 시작되지는 않습니다. 작동하는 유일한 방법은 '='없이 수식을 복사하고 수동으로 '='을 쓰고 수식을 붙여 넣는 것입니다.

INDIRECT()을 사용해 보았지만 도움이되지 않았습니다.

수식을 강제 평가할 수있는 방법이 있습니까? 아니면 내가 원하는 것을 할 수있는 다른 방법이 있습니까 (새로운 언어를 배우지 않고 ...)?

답변

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) 
관련 문제