Pythonを使用してシェル実行可能ファイル(.sh)のテキストを置き換える方法は?

Pythonを使用してシェル実行可能ファイル(.sh)のテキストを置き換える方法は?

ファイルがありますが、xxx.sh内容は次のとおりです。

setsid ./start-meteor.sh >> /home/farah/StudioInstallation/Studio/bricks/platform/log/databricksastro.log 2>&1 < /dev/null &

上記の内容を次のように変更したいと思います。

setsid ./start-meteor.sh >> /home/rose/validation/Studio/bricks/platform/log/databricksastro.log 2>&1 < /dev/null &

これを行うにはPythonコードが必要です。

答え1

次のように、任意の名前でPythonスクリプトを呼び出すことができます。search_replace.py

#!/usr/bin/env python3
import fileinput
import re

for line in fileinput.input(inplace=1, backup='.bak'):
         line = re.sub('farah/StudioInstallation','rose/validation', line.rstrip())
         print(line)

このスクリプトを実行し、ファイル名をxxx.sh引数として渡します。

$python search_replace.py xxx.sh

関連情報