구성 파일 쿼리 및 업데이트

구성 파일 쿼리 및 업데이트

저는 스크립팅을 처음 접했고 요구 사항 중 하나에 대한 도움이 필요합니다.

다음 정보가 포함된 구성 파일이 있습니다.

Run=YES

스크립트를 통해 값을 "아니요"로 업데이트하고 싶습니다. 아래는 내가 사용하는 스크립트입니다.

config_file=/Home/config
sed -e '/\(^Run=\).*/ S//\1No/' $config_file

스크립트는 값을 업데이트하지 않습니다. 도울 수 있니?

답변1

"값을 업데이트하지 않음"이 무엇을 의미하는지 명확하지 않습니다. /Home/config파일이 변경되지 않았다는 뜻이라면 sed기본적으로 작동하는 방식입니다. 즉, 입력 파일을 읽고 변경 사항을 적용한 다음 결과를 콘솔에 출력합니다.

출력을 다른 파일로 리디렉션한 다음 이름을 바꾸어 덮어쓸 수 있습니다. 또는 지원하는 경우 sed-i플래그를 사용하여 파일을 "제자리에서" 편집할 수 있습니다.

간단히 말해서:

  • 누구나
    sed -e '/\(^Run=\).*/ S//\1No/' "$config_file" > "$config_file.bup"
    mv "$config_file.bup" "$config_file"
    
  • 또는
    sed -e -i '/\(^Run=\).*/ S//\1No/' "$config_file"
    

관련 정보