Bash文字列の範囲と置換

Bash文字列の範囲と置換

文字列の一部を印刷するには、I useコマンドを置き換え,ます.

echo "${q:16:6}" | sed 's/,/./'

次のようなものを使用できますか?

echo "${q:16:6/,/.}"

うまくいかないから?

答え1

Bashでは、パラメータ拡張をスタック/ネストすることはできません。

echo "${${q:16:6}/,/.}"

動作します。 (このようなネストされた拡張は、するしかし、Zshでは動作します。 )

Bashを維持するには一時変数を使用する必要があります。

foo="${q:16:6}"
echo "${foo/,/.}"

関連情報