Я использую 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