s/from/to/ 엔진
sed 가 입력의 각 줄에 작은 프로그램을 적용해서 결과 출력. 가장 흔한 command 는 s/pattern/replacement/ — substitute. 한 번 써보면 GUI 에디터에서 찾아바꾸기 다시는 안 함.
치환
sed 's/foo/bar/'— 줄당 첫 매치.sed 's/foo/bar/g'— 모든 매치 (global).sed 's/foo/bar/I'— 대소문자 무시 (GNU).sed 's|/usr/local|/opt|g'— 경로 치환할 때 구분자 변경 (아무 한 글자 OK).sed -E 's/(foo|bar)/[\1]/g'— extended regex + 캡처.\1가 첫 캡처 그룹.
다른 command
sed '/pattern/d'— 매치 줄 삭제.sed -n '5,10p' file— 5-10 번째 줄만 출력 (-n 이 기본 출력 끔).sed '$d' file— 마지막 줄 삭제.sed '1i\\ header' file— 1 번째 줄에 텍스트 삽입.
In-place 편집
sed -i 가 파일 자체 수정. BSD sed (macOS) 는 빈 argument 가 필요: sed -i '' 's/foo/bar/g' file. GNU sed: sed -i 's/foo/bar/g' file. 처음 보면 누구나 헷갈려. 일관성 원하면 brew install gnu-sed + alias.
sed vs awk vs perl
sed = 줄 단위 치환. awk = 필드 인식 처리. perl -pe = 진지한 regex (lookahead 포함 풀 PCRE). 각자 자리 있음. sed 는 가장 작고 portable.