Linux와 커맨드 라인 기초
$ echo "aaa bab" | sed 's/a/x/'문자를 치환하는 위의 sed 명령의 출력으로 올바른 것은?
- Axaa bab
- Bxaa bxb
- Cxxx bxb
정답과 해설 보기
정답: A. xaa bab
sed의 s/치환 전/치환 후/는 각 줄에서 처음 발견된 한 곳만 치환합니다. 이 줄에서 첫 번째 a는 맨 앞의 문자이므로 출력은 xaa bab입니다. 줄 안의 모든 것을 치환하려면 s/a/x/g처럼 끝에 g(global)를 붙이며, 그 경우의 출력은 xxx bxb가 됩니다. 치환의 단위는 줄이므로, 파일에 여러 줄이 있으면 g가 없어도 각 줄의 첫 한 곳씩이 치환됩니다.