LabHub

리눅스 기초 · 텍스트 처리 파이프라인 · 퀴즈

퀴즈: 텍스트 처리 파이프라인

LabHub 에서 이어서 보기

문항 5개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. uniq -c 앞에 sort 를 반드시 붙여야 하는 이유는?

    1. uniq 가 정렬된 입력만 받도록 설계되어 있어서 오류가 나기 때문
    2. sort 가 없으면 개수가 항상 1 로 나오기 때문
    3. uniq 는 인접한 중복만 묶어서 세기 때문
    4. 출력을 알파벳 순으로 보여 주기 위해서
  2. curl -s URL | jq .items | wc -l 에서 curl 이 실패했는데 스크립트가 성공으로 판정했습니다. 이유는?

    1. 파이프라인의 종료 코드는 기본적으로 마지막 명령의 것이기 때문
    2. curl 은 실패해도 종료 코드 0 을 반환한다
    3. jq 가 오류를 삼켰기 때문
    4. set -e 가 파이프라인에는 적용되지 않기 때문
  3. 로그에서 필드 하나를 뽑아 합계를 내야 합니다. 가장 적절한 도구는?

    1. grep
    2. awk
    3. sed
    4. cut
  4. 40만 줄짜리 로그를 파이프로 처리해도 메모리가 터지지 않는 이유는?

    1. 셸이 자동으로 파일을 나눠 읽기 때문
    2. 각 명령이 별도 프로세스로 동시에 실행되며 스트림으로 흘려보내기 때문
    3. 커널이 파이프 버퍼를 무제한으로 늘리기 때문
    4. grep 이 파일 전체를 인덱싱하기 때문
  5. cat access.log | grep ERROR 를 grep ERROR access.log 로 바꾸면 무엇이 좋아지나요?

    1. ERROR와 error를 구분하는 방식이 달라진다
    2. grep이 파일 입력에서는 정규식을 더 정확히 처리한다
    3. 두 명령을 하나로 합쳐 메모리 사용량이 절반이 된다
    4. 불필요한 프로세스와 파이프가 하나 줄어든다