所以我有以下文件:
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
有任何想法吗?
那这个呢?
$ sed -r 's/ ([^ ]*)$/-\1/' file
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
-
([^ ]*)$
捕获空格+“直到行尾不是空格的任何内容”。
-
-\1
打印连字符+捕获的“行尾之前不是空格的任何内容”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)