2012.07.20 08:14
SED 명령어 사용법
ed명령어와 grep명령어 기능의 일부를 합친 것이 sed(stream editor)명령어입니다
이 sed 명령어가 ed보다 좋은 점은 라인들을 하나씩 읽고 , 수정하고, 출력하기 때문에
기억장치 안의 버퍼를 사용하지 않는다는 점으로 버퍼를 사용하지 않으면 화일의 크기에
제한 없이 작업을 할 수 있습니다.
일상적인 sed 명령
---------------------------------------------------------------------------------------
a 다음 라인(들)을 적용될 라인들에 부가한다 (라인뒤)
c 적용될 라인들을 다음 라인(들)로 변경한다 (라인 대체)
d 적용될 라인들을 삭제
g 단지 첫번째의 것만이 아니라 라인의 모든 부합 패턴 대체가 적용 되게 함
i 다음 라인(들)을 적용될 라인들 위에 삽입 (라인앞)
p - n 옵션하에 있을지라도, 라인을 프린트
q 명시된 라인에 도달할 때 중지함
r filename filename을 판독함
s/old/new/ "old"를 "new"로 대체함
= 라인 번호를 프린트함
!command 라인이 선택되지 않는 경우 command를 적용함.
--------------------------------------------------------------------------------------
예)
# sed "s/hello/goodbye" in.txt
위의 명령어는 in.txt이라는 화일에 있는 각 라인에서 첫번째 등장하는 hello라는 문자열을
goodbye로 교체한 후 그 라인을 표준 출력에 출력하는 예
# sed "/hello/d" in.file
위 의미는 "hello라는 문자열을 포함하고 있는 라인을 찾아 그 라인을 삭제하라"는 명령임.
# sed "3,7s/hello//" in.file
위의 명령어는 in.file이라는 화일의 라인3에서 7까지만을 대상으로 첫번째 hello를 삭제하고
화일의 그 외의 부분은 변경시키지 않음.