Você pode fazer isso com um único sed
:
sed 's/\(.*\)-/ /'
ou, usando expressão regular estendida:
sed -r 's/(.*)-/ /'
O ponto é que sed
é muito guloso, então, combina tantos caracteres antes de -
quanto possível, incluindo outros -
.
$ echo 'swp-RedHat-Linux-OS-5.5.0.0-03' | sed 's/\(.*\)-/ /'
swp-RedHat-Linux-OS-5.5.0.0 03