여기에 제출된 Kusalananda의 답변에 의견을 추가할 수 없기 때문에 이 질문을 게시하게 되었습니다."key = value" 줄: 특정 키의 값을 바꾸는 방법은 무엇입니까?
그는 다음과 같은 해결책을 제안했습니다.
sed -E 's/^(power[[:blank:]]*=[[:blank:]]*).*/\1something/' TheFile
질문 1: "\1"은 무엇을 의미하나요?
Q2: 따옴표가 포함된 키-값 쌍을 처리할 때 어떻게 수정하나요? 예를 들어
MTU="1500"
- - 편집하다- -
Q3: RalfFriedl의 제안을 시도하다가 값이 아닌 변수 이름이 삽입된 것을 발견했습니다.
sed -E 's/^(MTU[[:blank:]]*=[[:blank:]]*).*/\1$NewMtu/' MyEthFile
답변1
\1
이 경우 첫 번째 대괄호의 값을 삽입하는 것을 의미합니다 .(power[[:blank:]]*=[[:blank:]]*)
두 번째 질문의 경우 패턴을 사용 MTU="(.*)"
하고 이를 로 \1
바꿔서 1500
.