1. [ UNIX/LINUX ] sed (Stream Editor)
ㅇ vi와 같은 화면편집기와는 달리,
- 표준입력(stdin)이나 파일(file)로부터의 데이터 스트림을, 편집/변환하여,
- 그 출력을 표준출력(stdout)으로 전달하는, 비대화형 스트림 편집기
ㅇ 특징
- "입력 → 처리 → 출력"을 한 줄(line) 단위로 순차 처리
- 원칙적으로, 원본 파일은 그대로, 처리 결과는 stdout (단, -i 옵션 시 파일 수정도 가능)
ㅇ 기본 구조
- sed [옵션] '명령' 파일
. 주요 옵션 : -i (파일 직접 수정), -n (출력 억제, print 명령만 출력)
ㅇ 핵심 기능
- 치환(substitute, s), 삭제(delete, d), 삽입(insert, i), 추가(append, a)
. 치환 (s) : sed 's/old/new/' file
. 전역 치환 (s + g) : sed 's/old/new/g' file
. 특정 줄 만 치환 (3s) : sed '3s/a/b/' file (3번째 줄 내 a를 b로 치환)
. 삭제 (2d) : sed '2d' file (2번째 줄 삭제)
- 정규표현식 패턴 매칭 + 명령 수행
2. [ UNIX/LINUX ] grep (Get Regular Expression)
ㅇ 텍스트 파일 내부를, 정규표현식을 사용하여, 문자열 및 패턴을 검색하는 유틸리티
- 문서 내 텍스트에 대해 정규표현식과의 일치를 찾음
ㅇ 기본 구조
- grep [옵션] '패턴' 파일
ㅇ 핵심 기능
- 문자열/정규표현식 검색
- 필터링 (조건에 맞는 줄만 출력)
ㅇ 주요 옵션
- -i : 대소문자 무시
- -v : 불일치 라인 출력
- -n : 라인 번호 출력
- -r : 디렉토리 재귀 검색
- -E : 확장 정규표현식 (egrep)
- -w : 단어 단위 일치
- -o : 매칭된 부분만 출력
ㅇ 예시
- grep "error" log.txt (문자열 error 찾아 해당 행들을 츨력)
- grep -i "fail" log.txt
- grep -r "main"