Подтвердить что ты не робот

Как изменить имя расширения в строке с помощью bash?

Я хочу перевести следующий код python на bash. Код изменяет имя расширения на .html и запускает Safari, чтобы открыть его.

#!/usr/bin/env python
import os.path
import os

oldName = $TM_FILEPATH
(name, ext) = os.path.splitext(oldName)
rename = name + ".html"
os.system("open -a Safari %s" % rename)

Как изменить расширение файла с помощью bash?

4b9b3361

Ответ 1

file=somefile.whatevs
open -a Safari "${file%.*}.html"

Ответ 2

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

$ MY_FILE=file.html
$ NEW_EXT=${MY_FILE/html/php}
$ echo ${NEW_EXT}
file.php