替换“。” [点],但留下最后一个:例如:.txt [字符串中可能有随机数点,甚至为零,我只需要最后一个]
$ echo 'someth.ing.something.txt' | SOMEMAGIC
someth-ing-something.txt
答案 0 :(得分:1)
$ echo 'toto.tata.titi.' | sed 's/\.\([^$]\)/-\1/g'
toto-tata-titi.
答案 1 :(得分:1)
echo 'someth.ing.something.txt' | sed 's/\./-/g' | sed 's/-\([^-]*$\)/.\1/g'
答案 2 :(得分:0)
basename one.two.three.txt .txt | sed -e's /.// g'-e's / $ /.txt /'
答案 3 :(得分:0)
在sed中,使用递归替换:
sed ':a /\..*\./ {s/\./-/}; t a'