В Python вы можете использовать модуль `shlex` для безопасного форматирования строк для использования в shell/bash. Вот как это сделать:
```python
import shlex
def safe_format_bash_command(cmd, file_name):
safe_file_name = shlex.quote(file_name)
return cmd.format(safe_file_name)
command = "cat {}"
file_name = "That's my great book.txt"
safe_command = safe_format_bash_command(command, file_name)
print(safe_command)
```
После выполнения этого кода `safe_command` будет:
```
cat 'That'\''s my great book.txt'
```
Это безопасная строка, которую можно передать в bash. Это работает, потому что `shlex.quote()` корректно экранирует все специальные символы в строках, которые можно использовать в bash.
Если вы хотите переименовать файл, вам нужно использовать команду `mv` вместо `cat`. И точно так же можно безопасно форматировать новое имя файла.
Например:
```python
command = "mv {} {}"
old_file_name = "/path/That's my great book.txt"
new_file_name = "/newpath/That's my even better book.txt"
safe_command = safe_format_bash_command(command, old_file_name, new_file_name)
print(safe_command)
```
Здесь `safe_format_bash_command()` должна быть изменена, чтобы принимать и безопасно форматировать несколько строк.