내 잡다한 노트
sed 본문
요새 회사에서 서버 관리를 위해 여러가지 스크립트를 짜고 있다.
회사에서 teams를 쓰다보니 teams 웹훅으로 알림이 오게끔 하는 스트립트 같은 것도 짰었다.
암튼, 요새 쉘 스크립트로 뭔가를 막 만드는데 sed 는 뭔가 봐도 잘 생각이 안나서 적을려고 한다.
sed -> Stream EDitor
텍스트 파일을 편집하거나 텍스트 데이터를 처리할 때 사용됨.
주로 패턴 매칭, 텍스트 변환, 치환 등의 작업을 수행한다.
파일이나 표준입력으로부터 데이터를 읽어 들여 지정된 명령어에 따라 변환한 후 출력으로 내보낸다.
[ sed의 기본 구문 ]
sed [OPTIONS] 'COMMAND' [FILE...]
[ 주요 옵션]
-i : 원본 파일을 백업하고 편집 결과를 원본 파일에 덮어씌움.
[ 주요 명령어 ]
s/old/new : old 문자열을 new 문자열로 치환
p : 패턴과 일치하는 행을 출력함.
d : 패턴과 일치하는 행을 삭제함.
a\text : 지정한 text를 패턴과 일치하는 행 다음에 추가함.
i\text : 지정한 text를 패턴과 일치하는 행 이전에 삽입함.
[ 예제 ]
sed 's/World/Universe/' input.txt > output.txt
-> 파일 내 특정 문자열 치환
echo "/path/to/file" | sed 's/\/path\/to\/file/\/new\/path\/to\/file/'
-> / 를 포함한 문자열 치환. / 를 표현하기 위해서 \ 를 앞에 추가함.