sed 명령어 사용법 정리
sed는 스트림 편집기(Stream Editor)로서, 파일이나 표준 입력에서 데이터를 한 줄씩 읽어 텍스트를 수정하거나 추출하는 데 사용된다. 실무에서는 로그 가공, 자동치환, 파일 정제 등에 널리 활용된다.
1. 기본 문법
sed [옵션] '명령' [파일명]
2. 주요 명령어 패턴
번호 명령어 설명
{1} | s/pattern/replacement/ | 문자열 치환 |
{2} | d | 행 삭제 |
{3} | p | 행 출력 |
{4} | q | 즉시 종료 |
{5} | a | 다음 줄에 문자열 추가 |
{6} | i | 이전 줄에 문자열 삽입 |
{7} | c | 해당 줄 전체를 다른 내용으로 대체 |
{8} | = | 줄 번호 출력 |
3. 사용 예제
{1} 문자열 치환 (한 줄에 첫 번째만 변경)
sed 's/localhost/127.0.0.1/' config.txt
{2} 문자열 치환 (한 줄에 모든 항목 변경)
sed 's/localhost/127.0.0.1/g' config.txt
{3} 결과를 파일에 저장 (in-place 편집)
sed -i 's/DEBUG/INFO/g' app.log
-i 옵션은 원본 파일을 직접 수정한다. 백업이 필요하면 -i.bak 형태로 사용한다.
{4} 특정 행 삭제
sed '3d' test.txt
→ 3번째 줄 삭제
{5} 특정 문자열 포함된 행 삭제
sed '/password/d' secrets.txt
{6} 줄 번호 출력
sed '=' file.txt
{7} 특정 줄 아래에 문자열 삽입
sed '3a\--- inserted line ---' file.txt
{8} 특정 줄 위에 문자열 삽입
sed '3i\+++ above line +++' file.txt
{9} 특정 줄 내용 치환
sed '5c\This is the new content' file.txt
{10} 여러 명령어 한번에 사용
sed -e '1d' -e 's/test/TEST/g' file.txt
4. 범위 지정
{1} 줄 번호 범위 지정
sed '2,5d' file.txt
→ 2~5줄 삭제
{2} 특정 패턴 범위 지정
sed '/BEGIN/,/END/d' file.txt
→ BEGIN과 END 사이의 줄 삭제
5. 정규표현식 활용 예시
{1} 숫자만 있는 줄 출력
sed -n '/^[0-9]\+$/p' data.txt
{2} 공백 제거
sed 's/ //g' input.txt
'서버 > 리눅스' 카테고리의 다른 글
실수로 /usr/lib/python2.* 지웠을때.. (0) | 2020.06.29 |
---|---|
segfault (0) | 2020.04.21 |
grep 사용법 (0) | 2020.01.28 |
/bin/sh no such file or directory (0) | 2019.12.16 |
리눅스 서버 상태 확인 (0) | 2019.12.10 |