Я использую Ubuntu 20.04.1
У меня есть Libre Office Calc. с двумя рабочими колоннами.
I do edit these two columns weekly once..
A 987654320
B 987654321
C 987654322
D 987654323
E 987654324
F 987654325
G 987654326
I need to write a bash script that gets the data from the above two columns and make a text file like below as an example..
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
Мы можем получить требуемый результат с помощью двухэтапного процесса:
конвертируем электронную таблицу в file.txt (на самом деле CSV):
localc --headless --convert-to txt: "Текст - txt - csv (StarCalc)" file.ods
используйте некоторые сценарии AWK:
awk -F, '{
напечатать "НАЧАЛО: VCARD"
распечатать "ВЕРСИЯ: 3.0"
напечатать "FN:" $ 1
напечатайте "N:" $ 1
print "TEL; TYPE = cell:" $ 2
напечатать "КОНЕЦ: VCARD"
Распечатать ""
} 'file.txt