Sed - заменить последнее вхождение совпадения для каждой строки

Итак, у меня есть следующий файл:

Carlton 3053
Carlton North 3054
Docklands 3008
East Melbourne 3002
Flemington 3031
Kensington 3031
Melbourne 3000
Melbourne 3004
North Melbourne 3051
St Kilda East 3183

Я хочу заменить последний пробел перед цифрами дефисом, это самый близкий у меня

cat file.txt | sed -r 's/\ /\-/g'

Но это заменяет все пробелы на - я хочу, чтобы вывод выглядел так:

Carlton-3053
Carlton North-3054
Docklands-3008
East Melbourne-3002
Flemington-3031
Kensington-3031
Melbourne-3000
Melbourne-3004
North Melbourne-3051
St Kilda East-3183

Есть идеи?

Ответы на вопрос(5)

Ваш ответ на вопрос