Retourner au contenu associé (entrée de forum : [sed] Remplacer du texte contenu dans une variable et contenant des () et *)
Posté par NeoX le 22 mai 2017 à 22:58. 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[...]
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
# et comme ca ?
Posté par NeoX . En réponse au message [sed] Remplacer du texte contenu dans une variable et contenant des () et *. Évalué à 2.
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