たとえば、次のように、スペースで区切られた 4 つの数値を含む変数があります。
a="12.3 423.4 11.0033 14.02"
しかし、時々、末尾に空白があります:
a="12.3 423.4 11.0033 14.02 "
スペースを「 & 」に置き換えたいので、次のようにします。
echo ${a// / & }
それは私に与えます:
12.3 & 423.4 & 11.0033 & 14.02
または、末尾に空白がある場合:
12.3 & 423.4 & 11.0033 & 14.02 &
私の問題は、文字列の最後にスペースがあるかどうかわからないことであり、いずれにせよ余分な「&」は必要ありません。この余分な文字を避ける最もエレガントな方法は何でしょうか? 「スペースと次の文字が数字の場合に置き換える」と言う方法はありますか?
編集: sedを使用できることは知っていましたが、bashには変数置換のメカニズムがあるため、それを使用して必要なことを行う方法を知りたいです。bash置換で「行末ではない」や「数字です」の書き方がわかりません。