Isso não responde à pergunta porque a AFAIK não existe uma maneira simples de atingir a meta exatamente como as solicitações OP. Em vez disso, mostro duas abordagens diferentes para atingir o objetivo da melhor forma possível.
Até onde eu sei, a única interface facilmente acessível entre um shell script e tabelas no software de escritório da GUI como o LibreOffice é .csv
-
um arquivo de valores separados por vírgulas
Isso é muito simples, mas também muito básico e não permite nenhuma formatação. Aqui está um exemplo de uso:
$ echo -e "heading 01,heading 02\ncell A2,cell B2\ncell A3,cell B3" >a.csv
$ loffice -o a.csv
Como.csv
éumarquivodetextosimples,vocêpodealteraroconteúdodecadaeditor,vamosusarsed
:
$ sed -i 's/cell A2/replaced cell/' a.csv
$ loffice -o a.csv
Comoditoacima,issonãopermitequalquerformataçãoalémde
Se, por um lado, você deseja ter arquivos de texto simples, pode facilmente mudar com as ferramentas de linha de comando, mas, por outro lado, também deseja obter um documento formatado de maneira bonita,
LaTeX é para você
Eu criaria um template.tex
e marcaria as linhas que gostaria de alterar mais tarde com comentários que o LaTeX ignora, por exemplo coordenadas de célula como %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}
Compilado parece:
Noiníciodoseuscript,bastacriarumnomedearquivodesaídaexclusivoecopiaromodelo:
outfile="/path/to/$(date +%F_%T).tex"
cp /path/to/template.tex "$outfile"
Agora você pode alterar este arquivo e adaptá-lo às suas necessidades com sed -i
. Graças às marcas de linha adicionadas nos comentários, é fácil selecionar células únicas:
sed -i 's/.*%A2/ replaced cell value/' "$outfile"
Quando todas as alterações forem feitas, basta executar pdflatex
no arquivo .tex
para obter a .pdf
output:
pdflatex "$outfile"
AlgunslinksparacomeçarcomoLaTeX
- Instalação:
Como instalar o latex no Ubuntu 14.04 LTS - link
- Primeiros passos:
- Encontre respostas: