sedを使用して文字列内の最後の文字を置き換える方法は?

sedを使用して文字列内の最後の文字を置き換える方法は?

文字列の最後の "-"だけをスペースに置き換えるにはどうすればよいですかsed

たとえば、

echo $MASTER_DISK_RELEASE
swp-RedHat-Linux-OS-5.5.0.0-03

しかし、次の出力を取得したいと思います。 (最後のハイフン["-"]を空白に置き換えます)

swp-RedHat-Linux-OS-5.5.0.0 03

ベストアンサー1

これを使用してこれを実行できますsed

sed 's/\(.*\)-/\1 /'

または拡張正規表現を使用してください。

sed -r 's/(.*)-/\1 /'

要点は、欲が非常に多いので、他のキャラクターを含め、以前のキャラクターをできるだけ多くsed一致させるということです。--

$ echo 'swp-RedHat-Linux-OS-5.5.0.0-03' | sed 's/\(.*\)-/\1 /'
swp-RedHat-Linux-OS-5.5.0.0 03

おすすめ記事