Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Bash] Récupérer résultat d'une commande dans une

Sujet résolu
    16 juillet 2022 à 16:51:29

    Bonjour à tous !

    J'ai une commande bash (certutil) qui quand on la lance retourne 3 lignes. J'aimerais récupérer la 2e ligne.

    Les solutions trouvés sur Internet sont soient pour le langage shell ou soit pour récupérer la 1ère ou la dernière ligne.

    Pouvez-vous m'aider svp ?

    Merci d'avance !

    • Partager sur Facebook
    • Partager sur Twitter

    Sauf erreur, je ne me trompe jamais ! Je ferais mieux demain !

      16 juillet 2022 à 18:43:38

      Et ceci?
      variable=`certutil | head -2 | tail -1`

      variable=`certutil | sed -n "2p"`

      -
      Edité par PierrotLeFou 16 juillet 2022 à 18:55:02

      • Partager sur Facebook
      • Partager sur Twitter

      Le Tout est souvent plus grand que la somme de ses parties.

        17 juillet 2022 à 17:48:42

        Bonjour, merci pour votre réponse rapide !

         Mais vos réponsrs données sont en langage shell. Je suis en train de coder en Batch avec la CMD et pas la PowerShell.

        Pour déclarer une variable en Batch : set var=valeur

        Mais merci quand même !

        Edit : je stocke les infos dans un fichier temp puis je parcours avec une boucle for.

        Merci

        -
        Edité par Scraping Scrap 17 juillet 2022 à 18:39:57

        • Partager sur Facebook
        • Partager sur Twitter

        Sauf erreur, je ne me trompe jamais ! Je ferais mieux demain !

          17 juillet 2022 à 20:18:34

          Bonsoir,

          Tu as pourtant écris Bash dans le titre et dans ton texte.

          Tu peux t'inspirer de ce script en Batch qui permet de récupérer (et modifier) la ligne numéro X (2 dans ton cas) :

          @echo off
          echo.
          
          REM Fichier de configuration
          set file_tmp="provFile.ini"
          
          ::::::::::::: VARIABLE A MODIFIER :::::::::::::
          	REM Correspond au nom de fichier avec une ligne à modifier (laisser les guillemets)
          	set file="test.txt"
          
          	REM Correspond à la ligne recherchée (numéro de ligne)
          	set /a LineToSearch=5
          
          	REM Correspond à la nouvelle ligne (Pas besoin de guillemets)
          	set file_line_replace=Ce Que Je Veux Mettre Pour Remplacer La Ligne
          ::::::::::::: VARIABLE A MODIFIER :::::::::::::
          
          If not exist %file% (goto :file_notfound)
          If exist %file_tmp% (del /F /Q %file_tmp%)
          
          (FOR /f "tokens=1* delims=:" %%a IN ('findstr /n "^" %file%') DO (
              SET "Line=%%b"
              IF %%a equ %LineToSearch% SET "Line=%file_line_replace%"
              setlocal EnableDelayedExpansion
              ECHO(!Line!
              endlocal
          ))>%file_tmp%
          
          del /F /Q %file%
          rename %file_tmp% %file%
          echo Modification termin‚e !
          goto :quit
          
          :file_notfound
          echo Le fichier %file% est introuvable ^^!
          
          :quit
          echo.
          pause>nul | echo Appuyez sur une touche pour quitter le script...
          exit
          



          • Partager sur Facebook
          • Partager sur Twitter
            18 juillet 2022 à 13:46:01

            Bonjour merci pour ta réponse !

            Euh, oui j'avais pas fait la différence merci !

            Mais j'avais déjà trouvé la réponse qui ressemble fortement à la tienne...

            Merci

            • Partager sur Facebook
            • Partager sur Twitter

            Sauf erreur, je ne me trompe jamais ! Je ferais mieux demain !

            [Bash] Récupérer résultat d'une commande dans une

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown