LINUX byDreamy postedFeb 16, 2006

sed 사용법

?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

+ - Up Down Comment Print

[1] Sed 편집기(Stream Editor)의 특징

- 대화형(Interactive) 편집기가 아님

- 일반적인 수행 동작들은 ed 편집기와 유사

- 편집할 파일을 버퍼 내로 읽어들이지 않음

- 큰 파일이나 복잡한 편집 명령 사용시에 편리

- 편집된 데이터의 출력은 표준 출력

- 편집시 파일의 한 줄을 읽고 그 줄에 주어진 편집 명령어를 수행한 결과를 출력

[2] Sed 편집기의 호출 형식

$sed [옵션] 파일명

 

사용예) 문자열의 치환

$mv file1.c file1.c.old

$sed -f transf file1.c.old > file1.c

 

사용예) 공백이 포함된 문자열의 치환 

$sed "s/int a/float b/" test.c.old > test.c

[3] Sed 편집기의 편집 형식

☞ sed 편집기의 일반적인 편집 형식

[[줄1],[줄2]] 편집명령 [매개변수]

- 줄1 : 시작 줄 번호, - 줄2 : 마지막 줄 번호

줄 : - 하나 또는 두개의 줄 지정

      - 줄을 지정하지 않으면 파일의 전체에 편집 명령 수행

      - 줄번호, 텍스트 패턴, 정규식을 이용하여 지정

매개변수 : 치환 명령어인 s(Substitute)만 가질 수 있음

 


 

[4] Sed에 사용되는 옵션들

 

☞ -e : sed 명령어 줄에 직접 지정한 편집 명령어를 사용할 때(default)

$sed -e/prit/d file1.c > file.c

$sed /prit/d file1.c > test

 

☞ -f 명령어 : 스크립트를 파일로부터 읽어들이며 명령어 지정

$sed -f transf file1.c > file.c

 

☞ -n : 정상적 출력(디폴트 출력)을 축소하여 표현

$sed -n/printf/p file1.c

 

 


[5] 줄 관련 명령어와 기능

명령어

기능

d

텍스트 줄 삭제 명령

a\

텍스트 줄 다음에 첨가 명령

i\

텍스트 줄 앞에 첨가 명령

c\

텍스트 줄 변경 명령

n

다음 텍스트 줄을 읽는 명령

g

전파일 부분을 치환하는 명령

=

현재 줄 번호를 출력

 [/패턴/]=

대응되는 줄의 패턴과 일치하는

각 줄의 번호를 표준 출력

p.

패턴 일치되는 줄을 표준 출력

s/패턴/대체패턴/

플래그 패턴을 대체패턴으로 바꿈.

플래그는 g, p, wfile

y/문자열1/문자열2

문자열1과 문자열2를 서로 바꿈

 

   


[6] Sed 편집기의 사용 예

 

☞ 줄의 삭제

$ sed '/error/d' file1.c

file1.c의 내용 중 "error"가 있는 줄 삭제

 

$ sed 6, 7d file1.c

file1.c의 6과 7줄을 삭제 후 출력

 

☞ 특정한 텍스트의 첨가

$ vi transf

6a\

##############

~

~

~

:wq! 

6줄의 뒤에 특정한 문자열을 첨가하는 transf라는 파일의 생성

 

$ sed -f transf file.c

file1.c에 transf의 명령 수행

 

☞ 문자열의 치환

$ sed y/1234/5678/ file.c

file1.c의 내용 중 숫자 1234를 5678로

치환 

 

$ sed /123/5678/ file.c

sed: command garbled: y/123/578/

$ _

양쪽 숫자열 또는 문자열 갯수가 맞지 않을 경우의 에러

 

☞ 메타 문자의 사용

$ sed y/[a-z]/abc/ file.c

sed: command garbled: y/[a-z]/abc

$ _

잘못된 명령어

 

$ sed y/abc/def/ file.c

$ _

올바른 명령어



나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5