Envie de poster une question technique sur du matériel ou du logiciel ?
Allez, viens !

  • truite
    link
    fedilink
    Français
    arrow-up
    2
    ·
    7 days ago

    Je peux faire ça si ça se fait pas un par un oui. Ca va sans doute niquer la mise en page mais je garderai les doc à côté.

    • Professeur Falken
      link
      fedilink
      Français
      arrow-up
      2
      ·
      7 days ago

      Testé chez moi. Fonctionnel.
      Pour du docx :
      for doc in *.docx;do libreoffice --headless --convert-to odt “${doc}”;done

      • truite
        link
        fedilink
        Français
        arrow-up
        2
        ·
        7 days ago

        Merci! Comment est-ce que j’indique de ne convertir que les documents d’un dossier donné? Je pense que je vais tenter ça, mais ce week-end parce que la flemme de faire toutes les sauvegardes etc. avant.

        • Professeur Falken
          link
          fedilink
          Français
          arrow-up
          2
          ·
          edit-2
          7 days ago

          Tel qu’il est écrit, il s’occupe que du dossier courant.
          Je pense qu’un find pourrait gérer plus.
          Exemple (pas testé) :
          find . -type f -name “*.docx” -exec libreoffice --headless --convert-to odt ‘{}’ \;
          A exécuter dans le dossier courant pour les fichiers du dossier courant et ses sous-dossiers.
          Il y a conversion, mais il s’agit de simples et doubles quotes.

        • Professeur Falken
          link
          fedilink
          Français
          arrow-up
          1
          ·
          edit-2
          6 days ago

          J’avais oublié le script :/
          #!/bin/bash

          # Source : https://askubuntu.com/questions/938834/grep-for-text-in-odt-or-doc-files

          find . -type f -name “*.od*” | while read i ; do
          [ “$1” ] || { echo “You forgot search string!” ; exit 1 ; }
          unzip -ca “$i” 2>/dev/null | grep -iq “$*”
          if [ $? -eq 0 ] ; then
          echo “string found in $i” | nl
          fi
          done
          J’anticipe l’édit, mais idem qu’au-dessus, il s’agit de double quotes.
          Tu lances le programme avec ton motif en argument. Il va chercher dans le dossier courant et ses sous-dossiers.

          • truite
            link
            fedilink
            Français
            arrow-up
            1
            ·
            7 days ago

            Je ne comprends pas “ton motif en argument” ni où est spécifié le dossier courant, ni exécuter le programme dans le dossier courant (c’est la partie “dans le dossier courant” que je sais pas comment on fait), mais j’ai sauvegardé le lien et un autre et je pencherai dessus. Bref, je suis un peu stupide en informatique (je le vis bien mais de temps en temps Linux c’est rude pour les gens comme moi).

            • Professeur Falken
              link
              fedilink
              Français
              arrow-up
              1
              ·
              edit-2
              7 days ago

              # Pour rendre ton fichier executable
              chmod +x fichier
              # Pour l’executer
              ./fichier
              # Pour lancer avec un argument / motif
              ./fichier argument

              Dossier courant : dossier ou tu te trouves actuellement (dans ton navigateur de fichiers ou ton shell / terminal)