본문 바로가기

서버/리눅스

sed 사용법

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