Как преобразовать обычные строки (в моем случае имена файлов) в экранированные строки Linux CLI/bash?
Примеры:
"It's a great weather today" -> "It\'s\ a\ great\ weather\ today"
"Wind [Wine]" -> "Wind\ [Wine]"
"/Downloads/RPM's/" -> "/Downloads/RPM\'s/"
Я хотел бы знать, есть ли более простой способ сделать это, поскольку я читаю имена файлов в своем скрипте Python, и когда я перенаправляю их команде bash, это не удается.
Проблема в том, что файлов слишком много, и я не смогу их переименовать или выполнить манипуляции со строками.
Я использую Python 2.7 в системе CentOS 7.
subprocess
? Если скриптbash
написан правильно, вам это не нужно. Если сценарийbash
неправильно написан, нет никакой гарантии, что это поможет. - person chepner   schedule 28.04.2017foo="Wind [Wine]"; subprocess.call(["script.bash", foo])
. Не требуется экранированиеfoo
. - person chepner   schedule 28.04.2017