문제 상세보기
문제 정보

문제 ID: 693837

카테고리: 리눅스마스터 2급

강의: 미분류

키워드: 없음

문제
다음 중 전체 9줄로 이루어진 문서를 vi 편집기를 이용하여 brandon이라는 문자열 모두를 clark으로 치환하려고 할 때 틀린 것은?(오류 신고가 접수된 문제입니다. 반드시 정답과 해설을 확인하시기 바랍니다.)
정답을 선택하세요
1 :1,9 %s/brandon/clark
2 :%s/brandon/clark/g
3 :1,$ s/brandon/clark/g
4 :1,$ s/brandon/clark
단일 문제
정답
1번 : :1,9 %s/brandon/clark
해설 gpt-4o-mini 생성
[정답 근거] 1번의 명령어 `:1,9 %s/brandon/clark`는 잘못된 문법입니다. `:1,9`는 1행부터 9행까지의 범위를 지정하는 것이지만, `%s`는 전체 문서에 대한 치환을 의미하므로 두 가지 범위 지정이 충돌하여 오류가 발생합니다.

[오답 해설]
2번 `:%s/brandon/clark/g`는 전체 문서에서 `brandon`을 `clark`으로 치환하는 올바른 명령어입니다. `g` 플래그는 각 행에서 모든 발생을 치환하도록 지시합니다.
3번 `:1,$ s/brandon/clark/g`도 올바른 명령어로, 1행부터 마지막 행까지의 범위에서 `brandon`을 `clark`으로 치환합니다. `g` 플래그가 있어 모든 발생을 치환합니다.
4번 `:1,$ s/brandon/clark`는 1행부터 마지막 행까지의 범위에서 `brandon`을 `clark`으로 치환하지만, `g` 플래그가 없어 각 행에서 첫 번째 발생만 치환됩니다. 그러나 문법적으로는 올바른 명령어입니다.

[관련 개념] vi 편집기에서 문자열 치환 명령어는 `:s/찾을문자열/바꿀문자열/플래그` 형식을 따릅니다. 여기서 플래그는 `g`(global)와 같은 추가 옵션을 통해 동작을 조정할 수 있습니다.

[학습 포인트] vi 편집기에서 문자열 치환 시 명령어의 문법과 범위 지정에 주의해야 합니다. `%`는 전체 문서, `1,$`는 특정 범위를 지정할 때 사용되며, 이들을 혼용할 경우 오류가 발생할 수 있습니다.