![구성 파일 쿼리 및 업데이트](https://linux55.com/image/180269/%EA%B5%AC%EC%84%B1%20%ED%8C%8C%EC%9D%BC%20%EC%BF%BC%EB%A6%AC%20%EB%B0%8F%20%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8.png)
저는 스크립팅을 처음 접했고 요구 사항 중 하나에 대한 도움이 필요합니다.
다음 정보가 포함된 구성 파일이 있습니다.
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"