Как я произвожу аккуратную Презентацию из Командной строки?

Я создал сценарий для терминала Ubuntu, который генерирует ответы. Ответы копируются в документ Устройства записи LibreOffice. Существуют таблицы и нужный формат для него. Весь формат будет потерян, если я перезапишу, и я не могу добавить, если я не произвожу сначала. Для меня действительно ли возможно автоматически вставить ответы в таблицах?

У меня только есть простой код как cat hostname предварительно просматривать имя хоста машины. Я борюсь в копировании его и вставке. Все, что я хочу, должно знать, возможно ли автоматически направить ответ в таблице документа Устройства записи LibreOffice. Демонстрационный шаблон ODT загружается ниже.

Sample Template

3
задан 2 May 2018 в 12:03

1 ответ

Это не отвечает на вопрос потому что 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

LibreOffice csv 01

Как a .csv простой текстовый файл, можно изменить содержание с каждым редактором, давайте использовать sed:

$ sed -i 's/cell A2/replaced cell/' a.csv 
$ loffice -o a.csv

LibreOffice csv 02

Как указано выше это не допускает форматирования помимо всех заглавных букв, которое в Вашем контексте не является очень удовлетворительным.


Если Вы, с одной стороны, хотите иметь простые текстовые файлы, можно легко измениться с инструментами командной строки, но с другой стороны также хотеть получить красиво отформатированный документ,

ЛАТЕКС для Вас

Я создал бы 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}

Скомпилированный это похоже:

LaTeX example 01

В начале Вашего сценария Вы просто создаете уникальное выходное имя файла и копируете шаблон:

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"

LaTeX example 02

Некоторые ссылки для начала работы с ЛАТЕКСОМ

5
ответ дан 1 December 2019 в 15:33

Другие вопросы по тегам:

Похожие вопросы: