01장. sed 스트림 편집기
grep은 원하는 줄을 찾아주지만, 찾은 내용을 바꾸지는 못합니다. 파일 수십 개에서 특정 설정값을 일괄 변경해야 한다면? 로그에서 불필요한 줄을 제거하고 정제된 데이터만 남겨야 한다면? sed가 바로 그 역할을 합니다.
sed(Stream Editor)는 파이프라인 한가운데서 텍스트를 편집합니다. 파일을 열지 않아도 됩니다. 명령어 한 줄로 치환, 삭제, 삽입이 가능합니다. 이 장에서는 sed의 동작 원리부터 실전 설정 파일 자동 수정까지 차근차근 익혀봅니다.
학습 목표
- sed의 패턴 스페이스 기반 동작 원리를 설명할 수 있습니다.
- p, d, i, a, c 명령어로 줄을 출력, 삭제, 삽입, 추가, 변경할 수 있습니다.
- s 명령어와 플래그(g, i, p, w)로 텍스트를 치환할 수 있습니다.
- -i 옵션으로 파일을 직접 수정하고 .bak으로 백업할 수 있습니다.
- 줄 번호와 패턴 주소를 사용해 처리 범위를 지정할 수 있습니다.
- 역참조와 & 메타문자로 복잡한 텍스트 변환을 수행할 수 있습니다.
- sed를 활용한 설정 파일 자동 수정 스크립트를 작성할 수 있습니다.
구성
| 절 | 제목 | 주요 내용 |
|---|---|---|
| 01 | sed 기본 명령어 | 동작 원리, p/d/q/i/a/c 명령어, -n 옵션 |
| 02 | 치환과 삭제 | s 명령어, 플래그, 구분자 변경, -i 옵션 |
| 03 | 주소 범위와 정규표현식 | 줄 번호, 패턴 주소, 역참조, & 메타문자 |
| 04 | 실전: 설정 파일 자동 수정 | nginx.conf 수정 스크립트, 백업과 롤백 |