Возможный дубликат:
заменить точку в строке, но оставить последнюю

заменить "." [точки], но оставьте последнюю: например: .txt [может быть случайное количество точек в строке, даже ноль, мне просто нужна последняя]

$ echo 'someth.ing.something.txt' | SOMEMAGIC
someth-ки-something.txt
$

1 ответ1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .