학습 가이드
#20주 실습 커리큘럼

텍스트 처리 1: grep·sort·uniq로 로그 걸러내기

_리눅스 실습 커리큘럼 6/40 · 터미널에 익숙해지기 (3주차)_

1단계 후반은 텍스트 처리입니다. 파일을 다루는 데서 파일 안의 내용을 다루는 단계로 넘어갑니다. 수만 줄 로그를 눈으로 읽는 사람은 없습니다. 걸러내고, 정렬하고, 세는 세 단계를 파이프로 이어 붙이면 로그가 정보가 됩니다.

grep·sort·uniq 텍스트 처리, 왜 필요한가

  • 장애 원인을 가장 빨리 찾는 길은 로그에서 필요한 줄만 뽑는 것입니다.
  • grep | sort | uniq -c 조합은 텍스트 처리의 기본 문법입니다.
  • 리눅스마스터 2급·LPIC-1 텍스트 처리 단원의 핵심입니다.

이번 편에서 익힐 것

  1. 파이프 | — 앞 명령의 출력을 뒤 명령의 입력으로
  2. 걸러내기 — grep, grep -v, grep -E, grep -c
  3. 정렬과 중복 제거 — sort, sort -u, uniq -c
  4. 필드 뽑기 — awk '{print $N}'

grep·sort·uniq 텍스트 처리 핵심 명령어

grep ERROR app.log > errors.log            # ERROR 줄만 저장
grep -v DEBUG app.log                      # DEBUG 제외
grep -E "ERROR|FATAL" app.log              # 둘 중 하나
grep -c ERROR app.log                      # 건수만

sort users.txt | uniq > unique_users.txt   # 정렬 + 중복 제거
sort -u users.txt                          # 같은 결과

awk '{print $7}' access.log | grep -E '^/' | sort | uniq -c | sort -rn | head
# 요청 경로별 횟수, 많은 순
  • uniq 는 바로 붙어 있는 중복만 인식하므로 항상 sort 뒤에 옵니다.
  • 필드 번호는 head -1 로 한 줄을 보고 공백 단위로 세어 정합니다.

grep·sort·uniq 텍스트 처리 자주 하는 실수

  • uniq 앞에 sort 누락 — 중복이 남습니다.
  • 대소문자 — error 와 ERROR 는 다릅니다. 지문의 표기를 그대로.
  • 필드 번호 착각 — 웹 로그의 경로는 보통 7번째지만 형식마다 다릅니다.

grep·sort·uniq 텍스트 처리 실습 문제

  • 오류 로그만 추출하기
  • 사용자 목록 정렬 및 중복 제거
  • HTTP 오류 경로 목록 만들기

다음 편

다음 편은 텍스트 처리 2: awk·cut으로 passwd·CSV 다루기 입니다. 화·금요일에 이어집니다.

<!-- publish_key:linux-path-20w-p06-post -->

댓글 0

아직 댓글이 없습니다. 궁금한 점이나 풀이 경험을 남겨 보세요.