substituindo ponto em string, mas deixando o último [duplicado]

0

substitua o "." [pontos], mas deixe o último: por exemplo: .txt [pode haver um número aleatório de pontos na cadeia, até zero, eu preciso apenas do último]]
$ echo 'someth.ing.something.txt' | SOMEMAGIC
someth-ing-something.txt
$

    
por LanceBaynes 17.01.2011 / 16:50

1 resposta

0

$ file='someth.ing.something.txt'
$ ext=${file##*.}
$ base=${file%.$ext}
$ echo $base
someth.ing.something
$ temp=${base//./-}
$ echo $temp
someth-ing-something
$ newfile=${temp}.${ext}
$ echo $newfile
someth-ing-something.txt
    
por 17.01.2011 / 21:38

Tags