Bash 사용자 입력을 사용하여 파일의 값 수정

Bash 사용자 입력을 사용하여 파일의 값 수정

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

관련 정보