[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 $ _ |
올바른 명령어 |
Designed by sketchbooks.co.kr / sketchbook5 board skin
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5