Linux와 커맨드 라인 기초

$ echo "aaa bab" | sed 's/a/x/'

문자를 치환하는 위의 sed 명령의 출력으로 올바른 것은?

  1. Axaa bab
  2. Bxaa bxb
  3. Cxxx bxb
정답과 해설 보기

정답: A. xaa bab

sed의 s/치환 전/치환 후/는 각 줄에서 처음 발견된 한 곳만 치환합니다. 이 줄에서 첫 번째 a는 맨 앞의 문자이므로 출력은 xaa bab입니다. 줄 안의 모든 것을 치환하려면 s/a/x/g처럼 끝에 g(global)를 붙이며, 그 경우의 출력은 xxx bxb가 됩니다. 치환의 단위는 줄이므로, 파일에 여러 줄이 있으면 g가 없어도 각 줄의 첫 한 곳씩이 치환됩니다.

이 분야 연습하기 분야로 돌아가기

Linux와 커맨드 라인 기초의 다른 문제

  1. 위의 조작에서 마지막 awk가 출력하는 내용으로 올바른 것은?
  2. GNU의 find로 'find /data -name "*.log" -mtime +7 -size +100M'을 실행했을 때 찾아지는 파일에 대한 설명으로 올바른 것은?
  3. 응답하지 않게 된 프로세스를 멈출 때, 먼저 'kill 프로세스ID'를 사용하고 그래도 끝나지 않을 때만 'kill -9 프로세스ID'를 사용하는 것이 좋다고 한다. 그 이유로 올바른 것은?
  4. 터미널에서 시간이 걸리는 ./sim.sh를 실행하는 도중에, 같은 터미널에서 다른 명령을 쓰고 싶어졌다. Ctrl+Z를 누른 후 bg를 실행했을 때의 동작으로 올바른 것은?
  5. SSH로 접속한 서버에서 시간이 걸리는 처리를 './run.sh &'로 시작한 다음 접속을 끊었더니 처리도 멈춰 버렸다. 접속을 끊은 후에도 처리를 계속하게 하는 시작 방법으로 가장 적절한 것은?