如何使用 Python 替换 shell 可执行文件 (.sh) 中的文本?

如何使用 Python 替换 shell 可执行文件 (.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

相关内容