sed(stream editor)

Linux 텍스트 명령어 편집기

sed(stream editor)는 텍스트 파일이나 텍스트 스트림에서 텍스트를 편집할 수 있는 강력한 도구입니다. sed는 특히 Unix 계열 운영체제에서 널리 사용되며, 정규 표현식을 사용하여 텍스트를 검색하고 대체하거나 파일에서 특정 행을 추출하거나 삭제하는 데 매우 유용합니다.

기본 구조

sed 명령어는 다음과 같은 기본 구조를 가지고 있습니다:

  • 옵션: sed에 대한 다양한 명령 옵션입니다.
  • script: sed 스크립트 또는 명령입니다. 큰 따옴표나 작은 따옴표로 감싸서 사용합니다.
  • 파일: 텍스트 파일의 이름입니다.

주요 기능 및 예제

  1. 기본 사용법
    • sed의 기본 사용법은 텍스트를 검색하고 대체하는 것입니다.

위 명령어는 파일.txt에서 첫 번째로 등장하는 “old”를 “new”로 대체합니다.

텍스트 대체

  • 파일 내 모든 “old”를 “new”로 대체하려면 g(global) 플래그를 사용합니다.

파일 내용 출력

  • -n 옵션과 p 플래그를 사용하여 특정 패턴이 포함된 행만 출력할 수 있습니다.

행 삭제

  • 특정 패턴이 포함된 행을 삭제할 수 있습니다.

특정 행 대체

  • 특정 행 번호에서 텍스트를 대체할 수 있습니다.

위 명령어는 세 번째 행에서 “old”를 “new”로 대체합니다.

파일을 직접 편집

  • -i 옵션을 사용하여 파일을 직접 편집할 수 있습니다.

여러 명령어 실행

  • 여러 명령어를 순차적으로 실행하려면 -e 옵션을 사용합니다.

위 명령어는 “123-4567” 형식의 문자열을 “123 4567″로 변환합니다.

텍스트 추가

  • 특정 행 앞이나 뒤에 텍스트를 추가할 수 있습니다.

범위 지정

  • 행 범위를 지정하여 특정 범위 내에서만 명령을 실행할 수 있습니다.

요약

sed는 텍스트 편집을 자동화하는 데 매우 강력하고 유연한 도구입니다. 텍스트 검색, 대체, 삭제, 추가 등의 작업을 스크립트를 통해 수행할 수 있어 시스템 관리 및 데이터 처리 작업에서 매우 유용합니다. sed 명령어와 정규 표현식의 조합을 통해 복잡한 텍스트 변환 작업도 효율적으로 처리할 수 있습니다.