Я создал сценарий для терминала Ubuntu, который генерирует ответы. Ответы копируются в документ Устройства записи LibreOffice. Существуют таблицы и нужный формат для него. Весь формат будет потерян, если я перезапишу, и я не могу добавить, если я не произвожу сначала. Для меня действительно ли возможно автоматически вставить ответы в таблицах?
У меня только есть простой код как cat hostname
предварительно просматривать имя хоста машины. Я борюсь в копировании его и вставке. Все, что я хочу, должно знать, возможно ли автоматически направить ответ в таблице документа Устройства записи LibreOffice. Демонстрационный шаблон ODT загружается ниже.
Это не отвечает на вопрос потому что AFAIK, там не простой способ достигнуть цели точно как запросы OP. Вместо этого я показываю два разных подхода для достижения цели максимально лучше всего.
Насколько я знаю, единственный легкодоступный интерфейс между сценарием оболочки и таблицами в офисном программном обеспечении GUI как LibreOffice .csv
–
Это является очень простым, но также и очень простым и не допускает форматирования. Вот пример использования:
$ echo -e "heading 01,heading 02\ncell A2,cell B2\ncell A3,cell B3" >a.csv
$ loffice -o a.csv
Как a .csv
простой текстовый файл, можно изменить содержание с каждым редактором, давайте использовать sed
:
$ sed -i 's/cell A2/replaced cell/' a.csv
$ loffice -o a.csv
Как указано выше это не допускает форматирования помимо всех заглавных букв, которое в Вашем контексте не является очень удовлетворительным.
Если Вы, с одной стороны, хотите иметь простые текстовые файлы, можно легко измениться с инструментами командной строки, но с другой стороны также хотеть получить красиво отформатированный документ,
Я создал бы a template.tex
и отметьте строки, которые я хотел бы изменить позже с комментариями, как которые LaTeX игнорирует, например, координаты ячейки %A2
:
\documentclass{scrartcl}
\usepackage{booktabs}
\usepackage{multicol}
\begin{document}
\begin{tabular}{p{5cm}p{5cm}}
\toprule
\multicolumn{2}{l}{System/Client Information} \\
\midrule
{\tiny Machine Hostname:}\newline
dessert's plowhorse %A2
&
{\tiny Machine Brand and Model:}\newline
Thinkpad X240 %B2
\\
{\tiny Operating System (Version \& Variant):}\newline
Lubuntu 16.04.3 LTS %A3
&
{\tiny Kernel Version\,/\,Update Level:}\newline
4.10.0-35-generic %B3
\\
\bottomrule
\end{tabular}
\end{document}
Скомпилированный это похоже:
В начале Вашего сценария Вы просто создаете уникальное выходное имя файла и копируете шаблон:
outfile="/path/to/$(date +%F_%T).tex"
cp /path/to/template.tex "$outfile"
Теперь можно изменить этот файл и адаптировать его к потребностям с sed -i
, благодаря меткам строки, добавленным в комментариях, легко выбрать отдельные ячейки:
sed -i 's/.*%A2/ replaced cell value/' "$outfile"
Когда все изменения сделаны просто выполненные pdflatex
на .tex
файл для получения .pdf
вывод:
pdflatex "$outfile"