![如何从 Libre Office Calc 获取数据并在 bash 脚本中使用它?](https://linux22.com/image/928783/%E5%A6%82%E4%BD%95%E4%BB%8E%20Libre%20Office%20Calc%20%E8%8E%B7%E5%8F%96%E6%95%B0%E6%8D%AE%E5%B9%B6%E5%9C%A8%20bash%20%E8%84%9A%E6%9C%AC%E4%B8%AD%E4%BD%BF%E7%94%A8%E5%AE%83%EF%BC%9F.png)
我正在使用 Ubuntu 20.04.1
我有 Libre Office Calc,其中有两列正在运行。
我每周编辑这两列一次。
A 987654320
B 987654321
C 987654322
D 987654323
E 987654324
F 987654325
G 987654326
我需要编写一个 bash 脚本,获取上面两列的数据并制作如下所示的文本文件作为示例。
BEGIN:VCARD
VERSION:3.0
FN:$(content of column1, row1)
N:$(content of column1,row1)
TEL;TYPE=cell:$(content of column2, row1)
END:VCARD
BEGIN:VCARD
VERSION:3.0
FN:$(content of column1, row2)
N:$(content of column1,row2)
TEL;TYPE=cell:$(content of column2, row2)
END:VCARD
and so on till it finds the content at last existing row
答案1
我们可以通过两步过程获得所需的结果:
我们将电子表格转换为文件.txt(确实是 CSV):
localc --headless --convert-to txt:"Text - txt - csv (StarCalc)" file.ods
使用一些 AWK 脚本:
awk -F, '{ print "BEGIN:VCARD" print "VERSION:3.0" print "FN:"$1 print "N:"$1 print "TEL;TYPE=cell:"$2 print "END:VCARD" print "" }' file.txt