- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Q>変数をsedで編集する方法)
変数をsedで編集する方法
このQ&Aのポイント
- Bシェル内で変数をsedで編集する方法について教えてください。
- 変数SET_NOの.を除いた値を変数EDIT_NOに代入する方法を教えてください。
- sedを使用してSET_NOから.を取り除いた値を変数EDIT_NOに入れる方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
EDIT_NO=`echo ${SET_NO} | sed -e "s/\.//g"` 3行目はこの行をそのままコピーペーストしてください。 シングルクォート(shift+7)ではなくバッククォート(shift+@)です。
その他の回答 (1)
- talepanda
- ベストアンサー率58% (45/77)
回答No.1
#!/bin/bash SET_NO=1.2.3-45 EDIT_NO=`echo ${SET_NO} | sed -e "s/\.//g"` echo "SET_NO=${SET_NO}" echo "EDIT_NO=${EDIT_NO}"
質問者
お礼
早速の回答をありがとうございました。 しかし、実行結果は、 SET_NO=1.2.3-45 EDIT_NO=echo ${SET_NO} | sed -e "s/\.//g" となりEDIT_NOに文字列がそのまま入っていました。3行目の'を"にして、 EDIT_NO="echo ${SET_NO} | sed -e "s/\.//g"" としても同様です。また、展開しようとして EDIT_NO=eval `echo ${SET_NO} | sed -e "s/\.//g"` にしたらエラーになってしまいました。 回避方法するにはどうしたらよいのでしょうか?
お礼
うまくできました。 なるほど、今までうまくいかないことが何度かあったのですが、バッククォートを使っていなかったからだったんですね。簡単なことがわかっていませんでした。 とても助かりました。ありがとうございました。