Как не переформатируя файл .docx заменить в документе строку при помощи bash из терминала в linux?
Есть шаблон .docx и текстовый файл .txt.
Нужно на bash прочитать построчно текстовый файл и заменить в документе шаблона текст '????' на строку из файла.
Задача тривиальная, но файл .docx нельзя переконвертировать в другие форматы (
P.S Про pandoc знаю, тут не подходит (
#!/bin/bash
template="blanc.docx"
student_list="ФИО.txt"
output_dir="certificate"
tmp_d="tmp_word"
mkdir $tmp_d $output_dir
unzip $template -d $tmp_d
cp $tmp_d/word/document.xml .
while read -r student_name; do
echo $student_name
cp . $tmp_d/word/document.xml
sed -i "s/????/$student_name/g" $tmp_d/word/document.xml
cd $tmp_d
zip -r $student_name.docx *
mv $student_name.docx ./certificate
rm document.xml
cp ./document.xml $tmp_d/word/document.xml
done < "$student_list"
Не понимаю, почему данный скрипт просто архивирует содержимое временное папки, а не запаковывает обратно в
.docx