BEOM_IT

[Linux] - sed 본문

OS/Linux

[Linux] - sed

beomzh 2023. 7. 18. 12:57
728x90
반응형

stream editor

sed는 "stream editor"의 약자로, 파일 편집을 자동화하는 명령줄 유틸리티입니다.

주로 파일 내용에서 특정 패턴을 찾아서 다른 패턴으로 바꾸는 작업에 사용됩니다.

기본 예제

sed [option] [command] [file]
옵션 설명
-p  행을 출력한다(-n 옵션과 함께 사용할 경우, 선택된 행만 출력한다.)
-d  선택한 행을 삭제한다.
-f  파일 안의 내용을 실행한다.
's/가/나/g' '가' 문자열을 '나' 문자열로 대체한다.
-e 다중 편집을 한다.
-q sed를 종료한다.

연산자

메타문자 의미 예제 설명
^ 라인의 처음 /^tomcat/ tomcat으로 시작하는 모든 라인들
$ 라인의 끝 /tomcat$/ tomcat로 끝나는 모든 라인들
. 하나의 문자 매칭, 하지만 newline 문자는 제외 /t….t/  
* 매칭되는 문자가 없거나 여러 개의 문자열이 될 수 있다. / *tomcat/ 아무것도 없거나 스페이스로 시작하여 linux 문자가 있는 라인들
[] 하나의 문자 매칭 /[Tt]omcat/ Tomcat 또는 tomcat을 포함하는 라인들
[^ ] 하나의 문자도 매칭되지 않음 /[^A-KM-Z]omcat/ Omcat 앞에 A에서 k까지 문자와 M에서 Z까지 문자를 포함하지 않는 라인들
\(.. \) 매칭된 문자들 저장 s/\(love\)able/\1er/ 매칭된 패턴을 나중에 참조하기 위해 \1을 사용하여 1번 태그로 저장하였다. 예제에서 lovable은 lover를 치환하기 위한 문자열로 기억된다.
& 치호나 문자열로 기억될 수 있는 검색 문자열 저장 s/tomcat/***&**/ &는 검색 문자열이므로 tomcat 문자열은 * 문자로 둘러싸인다. Tomcat 문자열은 ***tomcat**로 된다.
\< 단어의 시작 /\<tomcat/ tomcat으로 시작하는 단어를 포함하고 있는 라인들을 매칭한다.
\> 단어의 끝 /tomcat\>/ tomcat으로 끝나는 단어를 포함하고 있는 라인들을 매칭한다.
x\{m\} X 문자의 반복 횟수 m회 반복 /o\{5\}/ o가 5회 반복
x\{m, \} 적어도 m회 반복 /o\{5,\}/ o가 적어도 5회 반복
x\{m,n\} m회~n회 사이 반복 /o\{5,10\}/ o가 5회에서 10회 사이 반복
728x90
반응형