Linux의 강력한 텍스트 처리 도구 두 가지를 사용해 명령줄의 원시 텍스트를 유용하고 재현 가능한 결과로 바꿉니다. 이 실습 과정에서는 sed를 스트림 편집기로, awk를 필드 중심 처리 언어로 이해하여 취약한 일회성 명령을 조합하는 대신 작업에 알맞은 도구를 선택하는 감각을 익힙니다.
예제 텍스트, CSV 형식 데이터, /etc/passwd, 웹 서버 로그를 다룹니다. 짧은 안내형 실습을 거쳐 로그 레코드 정리, HTTP 상태 코드 추출, 404 응답 집계, 오류율 계산, 간결한 보고서 생성을 수행하는 시스템 보고서 챌린지로 마무리합니다.
학습 내용
sed치환 명령으로 첫 번째 일치 항목 또는 모든 일치 항목 바꾸기- 읽기 쉬운 치환 구분자를 선택하고 백업을 남기며 파일을 직접 편집하기
sed주소와 명령으로 줄을 삭제하고 삽입하며 선택적으로 출력하기- 사용자 지정 구분자와
$NF를 통한 마지막 필드를 포함해awk로 필드 추출하기 - 숫자 조건이나 텍스트 패턴으로 레코드를 필터링하고
NR로 출력에 줄 번호 붙이기 BEGIN, 레코드별 로직, 변수,END로awk처리 구조화하기- 값을 합산하고 조건에 맞는 항목을 세며 백분율을 계산해 보고서 형식으로 출력하기
추천 대상
이 중급 과정은 더 큰 프로그램을 작성하지 않고 구조화된 텍스트를 검사하고 변환하려는 Linux 사용자, 시스템 관리자, DevOps 학습자, 개발자를 위한 것입니다. 로그, 명령 출력, 구분자로 나뉜 파일 또는 간단한 운영 보고서를 자주 다룬다면 특히 유용합니다.
선수 지식: Linux 터미널, 파일과 디렉터리, 파이프, 출력 리디렉션에 대한 기본적인 이해가 필요합니다. sed 또는 awk 사용 경험은 필요하지 않습니다.
학습 환경: 텍스트, 계정 정보, CSV 형식 데이터, 웹 로그 예제 파일이 준비된 LabEx Linux 터미널입니다.
자주 묻는 질문
언제 sed를 사용하고 언제 awk를 사용해야 하나요?
텍스트 스트림의 줄을 변경, 삭제, 삽입 또는 선택하는 작업이 중심이면 sed를 사용합니다. 레코드를 필드로 나누고 조건을 적용하며 개수나 합계를 유지해 보고서를 구성해야 한다면 awk가 적합합니다. 마지막 챌린지에서는 두 도구를 순서대로 사용합니다.
실습에서 실제 시스템 데이터를 변경하나요?
아니요. 필드 추출 연습을 위해 /etc/passwd를 읽지만 수정하지는 않습니다. 편집 작업은 준비된 프로젝트 파일에서 수행하며, 치환 실습에서는 변경 없는 미리 보기와 원본 백업을 보존하는 sed -i.bak를 모두 다룹니다.
마지막 챌린지에서 무엇을 만들게 되나요?
따옴표가 포함된 예제 웹 서버 로그를 정리된 로그, 상태 코드 목록, 404 개수, 오류율 파일, 그리고 Total: 8, 404: 2, Rate: 25%와 같은 한 줄 요약으로 변환합니다.





