Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupérer chaine de caractère entre chaine

    20 juin 2023 à 18:55:12

    Bonjour,

    J'aimerai récupérer la valeur de "app_version" en l'occurrence dans l'exemple "4.20.0.1".

    Je n'arrive pas via sed a isoler la valeur entre ces deux chaine de caractères :

    Avant : query_result': [{'app_version': '

    Après : '}], 'query_all_results

    changed: [localhost] => {"changed": true, "cmd": "echo \"{'changed': False, 'query': 'select app_version from monitoring_settings order by app_version desc limit 1;', 'query_list': ['select app_version from monitoring_settings order by app_version desc limit 1;'], 'statusmessage': 'SELECT 1', 'query_result': [{'app_version': '4.20.0.1'}], 'query_all_results': [[{'app_version': '4.20.0.1'}]], 'rowcount': 1, 'failed': False} | app_version\"", "delta": "0:00:00.002604", "end": "2023-06-20 18:15:54.588185", "msg": "", "rc": 0, "start": "2023-06-20 18:15:54.585581", "stderr": "", "stderr_lines": [], "stdout": "{'changed': False, 'query': 'select app_version from monitoring_settings order by app_version desc limit 1;', 'query_list': ['select app_version from monitoring_settings order by app_version desc limit 1;'], 'statusmessage': 'SELECT 1', 'query_result': [{'app_version': '4.20.0.1'}], 'query_all_results': [[{'app_version': '4.20.0.1'}]], 'rowcount': 1, 'failed': False} | app_version", "stdout_lines": ["{'changed': False, 'query': 'select app_version from monitoring_settings order by app_version desc limit 1;', 'query_list': ['select app_version from monitoring_settings order by app_version desc limit 1;'], 'statusmessage': 'SELECT 1', 'query_result': [{'app_version': '4.20.0.1'}], 'query_all_results': [[{'app_version': '4.20.0.1'}]], 'rowcount': 1, 'failed': False} | app_version"]}

    Si quelqu'un a une idée, il m'enleve un bonne épine du pied :)

    D'avance, merci.

    • Partager sur Facebook
    • Partager sur Twitter
      25 juin 2023 à 1:34:50

      Ce qui suit fonctionne et extrait la version:


      echo apt_version4.13.10+= | sed -E "/apt_version/!d;s/^[^0-9.]*([0-9.]+)[^0-9.]*/\1/"


      à toi de voir si ça marche dans ton contexte.

      -
      Edité par PierrotLeFou 25 juin 2023 à 1:36:44

      • Partager sur Facebook
      • Partager sur Twitter

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

      Récupérer chaine de caractère entre chaine

      × 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