我有一个config.py
文件包含
config['port'] = 11111
我想编辑这个文件。棘手的部分是我想bash
获取我的输入并将 11111 替换为我给出的输入。
答案1
这个怎么样:
#!/bin/bash
# script.sh
# Prompt the user for input
echo "Choose a port number: "
# Read the input to a variable
read PORT
# Update the configuration file
sed -i "s/^\(config\['port'\] =\)\s\+[0-9]\+$/\1 ${PORT}/" config.py
如果这是您的输入文件:
# config.py
config['port'] = 123
这就是执行命令的方式:
user@host:~$ bash script.sh
Choose a port number: 456
那么这是您更新的文件:
# config.py
config['port'] = 456
答案2
new_port=12345
awk -v port="$new_port" '$0=="config['\'port\''] = 11111" { sub("11111",port); };
{ print; }' /path/to/file