다음과 같은 파일이 있습니다.
BEGIN
Name "TIPO_RECORD"
SqlType "12"
Precision "255"
Name "Test"
SqlType "12"
Precision "255"
Name "xxxx"
SqlType "12"
Precision "255"
Name "Test"
SqlType "12"
Precision "255"
END
문자열 "TEST"를 찾은 다음 그 뒤의 첫 번째 문자열 "PRECISION"을 "TRY"로 바꾸는 스크립트가 필요합니다.
답변1
예제의 텍스트를 바꾸려고 한다고 가정하면 다음을 수행할 수 있습니다.
sed '/Name "Test"/ {n;n;s/Precision/Try/;}'
대소문자를 구분하지 않으려면 다음을 시도해 보세요.
sed '/Name "[Tt][Ee][Ss][Tt]"/ {n;n;s/[Pp][Rr][Ee][Cc][Ii][Ss][Ii][Oo][Nn]/Try/;}'
아니면 더 간단하게 GNU를 사용하세요 sed
:
sed '/Name "Test"/I {n;n;s/precision/Try/i;}'