変数の最後の文字の前にスペースを追加する

変数の最後の文字の前にスペースを追加する

数字と文字を含む変数があります。

例:242M

エコーされると、242Mのように見えるように、この変数の最後の文字の前にスペースを追加する必要があります。

sedを使ってみましたが、私が見つけたところによると、ファイルからの読み込みにのみ使用でき、変数の変更には使用できないようです。

ありがとうございます!

ベストアンサー1

このバージョンは、以下のすべてのPOSIXシェルで動作しますbash

printf '%s\n' "${a%?} ${a#"${a%?}"}"

内部の追加引用符は、${a#...}特殊文字が変数に表示されるのを防ぐためのものです。

$ a='10*M'; printf '%s\n' "${a%?} ${a#"${a%?}"}"
10* M

これがなければ、2番目の変数拡張はになり、${a#10*}エコーさ10* *Mれます。

おすすめ記事