Comment éditer un fichier .odt depuis le terminal?

9

Je travaille beaucoup avec LibreOffice Writer.

Je voulais savoir s'il y avait un moyen de modifier le texte via le terminal?

Arthur
la source
3
Je ne pense pas que ce soit un doublon. Cette question demande s'il existe un utilitaire Terminal basé sur du texte pour modifier les fichiers .odt. L'autre question concerne l'utilisation de Terminal pour lancer un fichier .odt particulier dans la version graphique complète de LibreOffice Writer.
Gaultheria
1
À mon humble avis, il est probablement plus proche de cette commande cat n'affiche pas les lignes du texte - ce qui explique comment décompresser un fichier odt pour obtenir le content.xmlfichier sous-jacent
steeldriver
La chose la plus proche de ce que vous cherchez est wordgrinder, vous pouvez l' installer exécuter: sudo apt install wordgrinder, ici est le site officiel du projet, espère que cela aide.
galoget

Réponses:

4

libreofficeest livré avec une option pour convertir un odtfichier en texte brut, qui peut ensuite être modifié avec votre éditeur de texte en ligne de commande préféré et (si vous le souhaitez) reconverti en odt.

  1. Convertir document.odt:

    libreoffice --convert-to txt document.odt
    
  2. Modifiez le fichier avec votre éditeur de texte préféré, par exemple:

    gedit document.txt
    nano document.txt
    vim document.txt
    
  3. Reconvertissez-le. Le --convert-toprend une extension de nom de fichier comme argument, mais vous pouvez également spécifier un suffixe de nom de fichier pour éviter libreofficed'écraser le fichier d'origine (ce qu'il fait sans demander!):

    libreoffice --convert-to _new.odt document.txt
    

Pour la conversion, il y a aussi odt2txt, je voudrais juste essayer les deux et comparer les résultats.

Si vous utilisez, vimvous pouvez le configurer pour effectuer automatiquement la conversion en arrière-plan, voir: Est-il possible de travailler facilement avec .odt, .doc, .docx, .rtf et d'autres formats de texte non brut dans Vigueur? La réponse y est utilisée odt2txt pour la conversion, mais elle devrait être possible libreoffice --convert-toégalement.

dessert
la source
7

La chose la plus proche de ce que vous recherchez est wordgrinderun traitement de texte basé sur un terminal.

Vous pouvez l'installer en exécutant:

sudo apt install wordgrinder

Voici le site officiel du projet: https://cowlark.com/wordgrinder/

Voici le repo Github: https://github.com/davidgiven/wordgrinder

Et un guide de survie rapide: https://gist.github.com/davidgiven/1aba97e96a9b8f9b573b

Si vous cochez les sections Importation et Exportation, vous trouverez:

Importation

Importe du contenu de base à partir de fichiers ODT. OpenDocument est compliqué et difficile à analyser, mais WordGrinder fera de son mieux pour appliquer les styles appropriés. Les fonctionnalités non prises en charge sont ignorées.

Exportation

Cela produit un fichier ODT qui peut être lu par LibreOffice et une variété d'autres traitements de texte majeurs. Les styles de caractère et de paragraphe sont exportés et mappés sur des styles OpenDocument appelés P, H1, H2 etc.

galoget
la source