Herramienta para ver archivos de LibreOffice Writer en la ventana de terminal

18

Estoy usando un par de archivos de documentación en .odtformato LibreOffice ( ). Normalmente, accedo a ellos con LibreOffice Writer, por supuesto. Pero hay momentos en los que solo puedo conectarme al sitio con un terminal de texto.

Me pregunto si hay una herramienta basada en terminal que pueda mostrarme el contenido de estos archivos en un formato correcto aproximado. (Los archivos contienen principalmente texto simple, listas de viñetas y algunas tablas 1x1, por lo que es algo relativamente simple en términos de formato).

PD: Esta pregunta no se trata de iniciar LibreOffice en sí desde la línea de comandos (que se responde aquí ).

rookie09
fuente
3
No está en la respuesta original, pero puede usar odt2txt document.odt | lesspara ver directamente el archivo.
pLumo
@RoVo ¡Eso sirve para una respuesta! Sería interesante si odt2txthace un trabajo tan bueno libreoffice --convert-to(que esperaría que funcione muy bien sin haberlo probado exhaustivamente). El último (por lo que descubrí) no puede escribir en stdout, por lo que desafortunadamente las tuberías directamente no están disponibles para ello. Advertencia: si simplemente desea ver (o buscar) el contenido de su documento y tal vez no le importe demasiado el formateo, odt2txt | …es el camino a seguir. De lo contrario, permita libreofficeconvertir su documento como se explica a continuación.
postre
2
Los documentos simples parecen convertirse bien con ambas herramientas. Lamentablemente, las tablas no se convierten en tablas
ASCII

Respuestas:

21

Hay una herramienta llamada odt2txtque puede convertir odta txt.

En comparación con libreoffice, puedo ver dos beneficios:

  • Ligero si no tiene libreoffice instalado (por ejemplo, en un servidor)
  • Se puede imprimir en stdout para ver directamente los archivos.

Instalación:

sudo apt install odt2txt

Luego puede ver directamente un odt:

odt2txt document.odt | less
pLumo
fuente
Si desea convertir a un archivo, simplemente redirija la salida con odt2txt document.odt > fileo use la --output=fileopción.
postre
21

libreofficeproporciona una --convert-toopción que se puede usar para convertir un documento a, por ejemplo, texto o html:

  • convertir input.odta input.txt:
    libreoffice --convert-to "txt:Text (encoded):UTF8" input.odt

  • convertir cada .odten el directorio actual a .html:
    libreoffice --convert-to "html:XHTML Writer File:UTF8" *.odt

  • convertir cada .odsen el directorio actual a .csv:
    libreoffice --convert-to csv *.ods

La salida se puede abrir con el buscapersonas o el navegador de terminal de su agrado less, mosto w3mpara enumerar solo tres.

postre
fuente
¡Agradable! ¿Puedes usar esto para mostrar la versión txt directamente en la terminal en lugar de escribir en un archivo?
Puck
Lamentablemente no, mira mi comentario arriba .
postre
12

LibreOffice tiene una --catopción que existe en la versión 5.1 pero no 4.2. No estoy seguro exactamente cuándo fue presentado.

libreoffice --cat "Untitled 1.odt" --headless | less

Para más información:

libreoffice --help
Jim K
fuente
Es una pena que esta útil opción no esté documentada en libreofficela página de manual ni en help.libreoffice.org/Common/… , sin embargo, al menos lo libreoffice -henumera.
postre