파일에서 한 줄을 찾아 문자열을 바꾸고 싶습니다.

파일에서 한 줄을 찾아 문자열을 바꾸고 싶습니다.

"AUTOINSTALL_VTK" 문자열이 포함된 파일에서 특정 줄을 찾고 bash 스크립트를 사용하여 해당 줄에서 "OFF" 문자열을 "ON"으로 바꾸고 싶습니다.

sed로 교체하는 것이 가능해야 합니다. 하지만 이 줄에서 "OFF"를 "ON"으로만 교체하도록 sed에 어떻게 지시합니까?

답변1

이 시도:

sed -i '/AUTOINSTALL_VTK/ s/\<OFF\>/ON/' file

단어 경계를 추가 \<하고 다른 단어 내에서 대체를 \>방지했습니다 (예: ) .OFFOFFICIAL


{ ... }일치하는 줄에서 여러 명령을 실행하려면 .switch 및 예제를
사용할 수 있습니다 .ONOFF

sed -i '/AUTOINSTALL_VTK/{s/\<OFF\>/ON/n;t;s/\<ON\>/OFF/;}' file

관련 정보