> 텍스트 처리 및 검색 > ex

ex: 라인 기반 텍스트 편집기

ex는 Vi IMproved (Vim) 편집기의 라인 기반 모드로, 주로 스크립트나 자동화된 텍스트 처리에 사용됩니다. 파일의 특정 라인을 편집하거나, 여러 파일을 일괄적으로 수정하는 데 강력한 기능을 제공하며, 대화형 사용보다는 비대화형 스크립팅에 더 적합합니다.

개요

ex는 Vi 편집기의 라인 기반 명령 모드입니다. 이는 파일의 내용을 한 줄씩 처리하거나, 정규 표현식을 사용하여 복잡한 텍스트 변환을 수행하는 데 매우 유용합니다. 특히 셸 스크립트 내에서 파일을 자동으로 수정할 때 강력한 도구로 활용됩니다.

주요 특징

  • 라인 기반 텍스트 편집
  • 스크립트 및 자동화된 작업에 최적화
  • 강력한 정규 표현식 지원
  • Vi/Vim과 동일한 명령어 집합 사용
  • 비대화형 모드 지원

주요 옵션

ex는 주로 파일 내에서 직접 명령을 실행하지만, 시작 시 특정 동작을 제어하는 몇 가지 명령줄 옵션을 제공합니다.

시작 및 모드 옵션

생성된 명령어:

명령어를 조합해 보세요.

설명:

`ex` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

ex는 주로 스크립트 내에서 특정 작업을 수행하거나, vi 편집기 내부에서 `:ex` 명령으로 전환하여 사용됩니다.

파일 열기 및 내용 출력

ex -s file.txt <<EOF
%p
q!
EOF

파일을 ex 모드로 열고, 모든 라인을 출력한 후 종료합니다.

파일 내 문자열 치환 및 저장

ex -s -c '%s/old_string/new_string/g | wq' file.txt

file.txt 파일 내의 'old_string'을 'new_string'으로 모두 치환하고 저장 후 종료합니다.

여러 파일에서 문자열 일괄 치환

for f in *.txt; do ex -s -c '%s/error/warning/g | wq' "$f"; done

현재 디렉토리의 모든 .txt 파일에서 'error'를 'warning'으로 치환합니다.

특정 라인 삭제

ex -s -c '5d | wq' file.txt

file.txt 파일에서 5번째 라인을 삭제하고 저장합니다.

팁 & 주의사항

ex는 대화형 사용보다는 스크립트나 자동화된 작업에 더 적합하며, 효율적인 텍스트 처리를 위해 몇 가지 팁을 알아두면 좋습니다.

주요 팁

  • 비대화형 스크립트에서는 항상 `-s` (silent) 옵션을 사용하여 불필요한 메시지를 억제하세요.
  • 명령어는 `vi`의 명령 모드와 동일하며, `:wq`로 저장 후 종료, `:q!`로 저장하지 않고 종료할 수 있습니다.
  • 정규 표현식은 `sed`와 유사하게 강력하게 활용할 수 있습니다. `%s/pattern/replacement/g`는 파일 전체에서 패턴을 치환하는 데 사용됩니다.
  • ex는 대부분의 리눅스 시스템에 기본적으로 설치된 `vi` 또는 `vim` 패키지의 일부입니다.
  • 파이프(`|`)를 사용하여 여러 ex 명령을 한 줄에 연결할 수 있습니다.

동일 카테고리 명령어