• # et comme ca ?

    Posté par . En réponse au message [sed] Remplacer du texte contenu dans une variable et contenant des () et *. Évalué à 2.

    old_value="(1000)\\*80"
    new_value="(1000)\\*99"
    sed -i -e 's/BOT_SLEEP_DELAY:'"$old_value"'/BOT_SLEEP_DELAY:'"$new_value"'/' fichier

    parce que le shell va echapper le premier \* au moment de remplir old_value
    mais il faut l'echapper une 2e fois pour l'interpreter dans sed.

    si tu dois "debugger" des scripts bash, tu peux les lancer avec
    bash -x tonscript.sh

    ou mettre set -x avant le code à debugger et set +x apres (ou l'inverse je sais jamais

    [...]code avant[...]
    set -x
    old_value="(1000)\*80"
    new_value="(1000)\*99"
    sed -i -e 's/BOT_SLEEP_DELAY:'"$old_value"'/BOT_SLEEP_DELAY:'"$new_value"'/' fichier
    set +x
    [...]code apres[...]