정규 표현식 · 9 min read · Dec 30, 2025

6.0 매칭 및 정규 표현식 (정규 표현식)

저자: Jari Aalto.

1.0 문서 ID

  • 1.1 일반
  • 1.2 Procmail이란?
  • 1.3 약어 및 감사
  • 1.4 버전 정보
  • 1.5 문서 레이아웃 및 유지 관리
  • 1.6 제시된 레시피에 대하여
  • 1.7 레시피에서 사용되는 변수
  • 1.8 “cat의 쓸모없는 사용 상”에 대하여
    2.0 Procmail 포인터
  • 2.1 procmail이 개발되는 곳
  • 2.2 Procmail 리소스
  • 2.3 Emacs용 Procmail 모드
  • 2.4 Procmail 모듈 라이브러리 프로젝트
  • 2.5 UBE 필터링을 위한 Procmail 코드
    3.0 드라이 런 테스트
  • 3.1 드라이 런 테스트란?
  • 3.2 드라이 런 후 From 필드가 문제가 되는 이유
  • 3.3 procmail 변수의 기본값 얻기
    4.0 기억해야 할 사항
  • 4.1 최신 procmail 얻기
  • 4.2 Csh의 물결(~)은 지원되지 않음
  • 4.3 레시피를 올바르게 시작해야 함
  • 4.4 항상 SHELL 설정
  • 4.5 PATH 확인 및 설정
  • 4.6 항상 로그 유지
  • 4.7 디렉토리에 후행 슬래시 추가 금지
  • 4.8 DELIVERED 용어 기억하기
  • 4.9 잘못된 위치에 주석을 넣지 않기
  • 4.10 중괄호 배치
  • 4.11 로컬 잠금 파일 사용
  • 4.12 전역 잠금 파일
  • 4.13 모든 ! * $를 어디에 두어야 할지
  • 4.14 자동 회신을 보낼 경우 X-loop 헤더 사용
  • 4.15 추가 셸 레이어 피하기 및 SHELLMETAS에 대한 명령 확인
  • 4.16 사용하는 셸 명령 생각하기
  • 4.17 셸 프로그램 호출 시 절대 경로 사용
  • 4.18 레시피를 일시적으로 비활성화하기
  • 4.19 메시지 백업 유지
  • 4.20 procmail 레시피의 순서
    5.0 Procmail 플래그
  • 5.1 플래그의 순서
  • 5.2 레시피 상단의 HB 플래그 (경고)
  • 5.3 w 플래그 및 |가 있는 레시피
  • 5.4 f 및 w 플래그 함께 사용
  • 5.5 h 및 b 플래그
  • 5.6 h 플래그 및 /dev/null로 보내기
  • 5.7 i 플래그 및 파이프 플래그 f
  • 5.8 r 플래그
  • 5.9 c 플래그의 배경
  • 5.10 중첩 블록에서 c 플래그가 자식을 포크하기 전에
  • 5.11 중첩 블록 앞의 플래그
  • 5.12 aAeE 플래그 튜토리얼
    6.0 매칭 및 정규 표현식 (정규 표현식)
  • 6.1 정규 표현식의 추상화 철학
  • 6.2 매칭은 대소문자를 구분하지 않음
  • 6.3 Procmail은 다중 행 매칭을 사용함
  • 6.4 헤더는 매칭 전에 펼쳐짐
  • 6.5 Space-Tab 증후군 개선
  • 6.6 느낌표 문자 처리
  • 6.7 문자 클래스 생성 규칙
  • 6.8 조건 끝의 공백 매칭
  • 6.9 선행 백슬래시 주의
  • 6.10 TO 매크로의 올바른 사용
  • 6.11 Procmail의 정규 표현식 엔진
  • 6.12 Procmail과 egrep의 차이
  • 6.13 Procmail의 최소 매칭 이해하기 (인색 vs. 탐욕)
  • 6.14 \/ 및 ()\/ 설명
  • 6.15 ^^ 및 ^ 설명
  • 6.16 전통적으로 ANDing
  • 6.17 전통적으로 ORing
  • 6.18 점수 레시피를 사용한 ORing
  • 6.19 드 모건 규칙을 사용한 ORing
    7.0 변수
  • 7.1 변수 설정 및 해제
  • 7.2 변수 초기화 및 sh 구문
  • 7.3 변수 테스트
  • 7.4 $ VAR는 무엇을 의미합니까?
  • 7.5 변수를 사용할 때의 일반적인 함정
  • 7.6 인용: 단일 또는 이중 인용 사용
  • 7.7 인용: 외부 프로그램에 값 전달
  • 7.8 외부 프로그램에서 값 전달
  • 7.9 값 N으로 변수를 증가시키기
  • 7.10 값 비교
  • 7.11 문자열: 주어진 문자열에 몇 개의 문자가 있습니까?
  • 7.12 문자열: 후행 줄 바꿈 제거하는 방법.
  • 7.13 문자열: 문자열의 마지막 N 문자를 유도하는 방법.
  • 7.14 문자열: 문자열에서 부분 일치를 얻는 방법.
  • 7.15 문자열: Procmail 문자열 조작 예제
  • 7.16 메시지가 파일링되었는지 플래그를 올리는 방법
  • 7.17 조건 행의 달러 기호.
  • 7.18 신비로운 foo 변수 찾기
  • 7.19 코드 변수를 저장하기
  • 7.20 변수에 헤더 가져오기.
  • 7.21 값 소문자로 변환하기
    8.0 제안 및 기타
  • 8.1 procmail 속도 향상
  • 8.2 procmail 설치 예제 보기
  • 8.3 수신 메일 통계 인쇄
  • 8.4 쿼터 외부의 UBE 메일박스 저장
  • 8.5 메시지의 처음 5-30줄 사용
  • 8.6 스크립트에서 cat 또는 echo 사용?
  • 8.7 부작용으로 추가 셸 명령 실행하는 방법?
  • 8.8 셸 스크립트에서 “ok” 반환 상태 강제하기
  • 8.9 다른 사람에게 내 .procmailrc 제공하기
  • 8.10 날짜를 효율적으로 사용하기
  • 8.11 간단한 헤더 로그 유지
  • 8.12 메시지 gzipping
  • 8.13 긴급 정지 .procmailrc
    9.0 점수
  • 9.1 예제를 통한 점수 사용
  • 9.2 간단한 점수 튜토리얼
  • 9.3 점수의 범위
  • 9.4 문자열 길이 세기
  • 9.5 메시지의 줄 수 세기 (줄 추가: 헤더)
  • 9.6 본문이 헤더보다 긴지 확인하기
  • 9.7 마지막 수신 헤더 매칭
  • 9.8 점수로 값 범위 테스트 (bogofilter)
  • 9.9 Content-Length 헤더 추가 방법
  • 9.10 메시지 크기 또는 줄 수 테스트
  • 9.11 재귀 포함기로 쉼표 세기
    10.0 Formail 사용
  • 10.1 formail -x로 필드 가져오기
  • 10.2 항상 formail의 -rt 스위치 사용
  • 10.3 -rt 사용 및 From 주소 재작성
  • 10.4 formail -rt 및 Resent-From 헤더
  • 10.5 메시지 인용
  • 10.6 메시지를 인용하지 않고
  • 10.7 응답 메시지에 헤더 및 본문 포함하는 방법
  • 10.8 메시지 시작 부분에 텍스트 추가하기
  • 10.9 메시지 끝에 텍스트 추가하기
  • 10.10 인용된 메시지 앞에 텍스트 추가하기
  • 10.11 파일에서 추가 헤더 추가하기
  • 10.12 다이제스트 분할
  • 10.13 메일박스: 개별 파일로 분할
  • 10.14 메일박스: 메일박스에서 모든 From 주소 추출
  • 10.15 메일박스: 전체 메일박스에 procmail 레시피 적용
  • 10.16 메일박스: 각 메일에 대해 일련의 명령 실행 (메일박스 분할)
  • 10.17 옵션 -D 및 캐시
  • 10.18 옵션 -D 및 본문의 메시지 ID
  • 10.19 formail 호출 줄이기 (조건부로 필드 추가)
  • 10.20 formail -A -a 옵션
  • 10.21 formail -e -s 옵션
    11.0 메일링 리스트 메시지 저장
  • 11.1 pm-jalist.rc 서브루틴을 사용하여 메일링 리스트 감지
  • 11.2 플러스 주소 사용 [email protected]
  • 11.3 추가 정보에 대한 RFC 주석 트릭 사용
  • 11.4 간단한 메일링 리스트 처리
  • 11.5 TO에 따라 아카이빙
  • 11.6 메일링 리스트 감지를 위한 Return-Path 사용
    12.0 Procmail, MIME 및 HTML
  • 12.1 MIME 참고 문헌
  • 12.2 MIME 노트
  • 12.3 MIME 또는 HTML을 처리하는 소프트웨어
  • 12.4 MIME 콘텐츠 유형 application/ms-tnef
  • 12.5 HTML MIME 메시지 가로채기
  • 12.6 HTML 메시지에 대한 불만
  • 12.7 HTML 본문을 일반 텍스트로 변환하기
  • 12.8 원하지 않는 MIME 첨부 파일 제거하기 (HTML, vcard)
  • 12.9 HTML 페이지의 내용을 일반 텍스트로 누군가에게 보내기
    13.0 간단한 레시피 예제
  • 13.1 저장: MH 폴더 – 번호 매겨진 메시지
  • 13.2 저장: 월별 폴더로
  • 13.3 수정: 필터링 기본
  • 13.4 수정: 메시지 본문 주위의 빈 줄 압축
  • 13.5 수정: 항상 같은 순서로 헤더 섞기
  • 13.6 서비스: 빈 메시지에 자동 응답기
  • 13.7 서비스: 핑 응답기
  • 13.8 서비스: procmail로 간단한 휴가
  • 13.9 서비스: 휴가 코드 예제
  • 13.10 서비스: 자동 전달
  • 13.11 서비스: 특정 메시지만 전달
  • 13.12 서비스: 다이제스트 만들기
  • 13.13 킬: 광고 헤더 및 바닥글 제거
  • 13.14 킬: procmail로 간단한 킬 파일 레시피
  • 13.15 킬: 중복 메시지
  • 13.16 킬: 간단한 레시피로 스팸 필터
  • 13.17 킬: (구독) 메시지
  • 13.18 시간: 하루에 한 번 크론과 같은 작업
  • 13.19 시간: 주어진 시간에 레시피 실행
  • 13.20 시간: 메일 트리거 및 크론 사용
  • 13.21 디코딩: Uudecode
  • 13.22 디코딩: MIME
  • 13.23 메시지 본문에 명령 보내는 방법
  • 13.24 한 줄에 두 단어 매칭, 그러나 하나는 매칭하지 않음
  • 13.25 개인 XX 매크로 정의하는 방법?
  • 13.26 본문 매칭에 따라 제목 변경하는 방법
  • 13.27 다른 헤더에 따라 제목 변경하는 방법
  • 13.28 매개변수로 프로그램 호출하는 방법 14.0 기타 레시피
  • 14.1 유효한 Message-Id 헤더 매칭
  • 14.2 메시지에서 두 파일 보내기
  • 14.3 메시지의 과도한 인용
  • 14.4 메시지를 청크로 나누어 페이지로 보내기
  • 14.5 메시지 도착 시 특정 소리 재생
  • 14.6 여러 Original-Cc 및 Original-To 헤더 결합
  • 14.7 민감한 메시지를 암호화된 형식으로 전달하기 15.0 Procmail 및 PGP
  • 15.1 pgp 메시지를 자동으로 복호화하기
  • 15.2 키 서버에서 키 가져오기
  • 15.3 수신 pgp 키 자동 가져오기 16.0 포함기 사용
  • 16.1 사용: 여러 rc 파일
  • 16.2 사용: 조건부로 rc 파일 호출
  • 16.3 사용: rc 파일 자동 로딩
  • 16.4 만들기: rc 파일 이름 지정
  • 16.5 만들기: procmail 변수를 저장할 때 네임스페이스 사용
  • 16.6 만들기: rc 파일의 공용 및 개인 변수
  • 16.7 일반 목적 rc 파일 구성에 대한 규칙
  • 16.8 포함기 스켈레톤 17.0 메일링 리스트 서버 18.0 일반적인 문제
  • 18.1 Procmail 모드: 일반, 배달 및 메일 필터.
  • 18.2 Procmail을 sendmail Mlocal 메일 필터링 장치로 사용
  • 18.3 Procmail이 8비트 문자를 전달하지 않음
  • 18.4 내 ISP는 procmail 설치에 별로 관심이 없음
  • 18.5 내 ISP는 시스템 전체 procmailrc를 가지고 있습니다. 이것은 좋은 생각인가요?
  • 18.6 Procmail이 메일박스 및 디렉토리 권한을 변경함
  • 18.7 컴파일 중 mbox 권한 변경
  • 18.8 .forward 파일은 실제 파일이어야 함
  • 18.9 procmail이 이미 LDA인 경우 .forward 사용
  • 18.10 쓰기 실패 시 메일이 메일 큐에 있어야 함
  • 18.11 Qmail: procmail과 함께 작동하게 만드는 방법
  • 18.12 Qmail: Procmail이 /var/spool/mail에서만 파일을 찾음
  • 18.13 Qmail: Maildirs와 함께 작동하도록 procmail 3.11pre7에 패치
  • 18.14 AFS: HOME이 AFS 셀에 있을 때 Procmail 사용 방법
  • 18.15 도움말, 어떤 바보가 내 주소를 30개의 메일링 리스트에 보냈습니다.
  • 18.16 도움말, Procmail이 내 콘솔에 비프음과 인쇄를 합니다.
  • 18.17 도움말, procmail이 메일을 콘솔에 덤프합니다.
  • 18.18 도움말, 메일박스에서 손상된 From_ 줄
  • 18.19 사용자의 메일을 /var/spool/ 대신 HOME으로 전달
  • 18.20 NFS 마운트 /var/mail은 나쁜 성능을 얻는 좋은 방법
  • 18.21 sendmail의 응답을 LOGFILE에서 볼 수 없음
  • 18.22 procmail 컴파일 및 잠금 스킴 선택
  • 18.23 많은 메일 전달은 높은 부하를 초래함
  • 18.24 MDA Procmail이 실패하면 메일에 무슨 일이 발생합니까
  • 18.25 Procmail이 전체 90Mb 메시지를 메모리에 읽음
  • 18.26 도움말, procmail이 가끔 엄청난 양의 메모리를 사용함
  • 18.27 Procmail이 내 자세한 로그에서 메모리 부족 신호를 보냄
  • 18.28 변수 DEFAULT 및 ORGMAIL
  • 18.29 DEFAULT로 메일을 보낼 수 없을 때
  • 18.30 변수 DROPPRIVS
  • 18.31 변수 HOME
  • 18.32 변수 HOST
  • 18.33 변수 LINEBUF
  • 18.34 변수 LOG 및 LOGFILE
  • 18.35 변수 TRAP
  • 18.36 변수 UMASK
  • 18.37 UMASK 및 권한
  • 18.38 백틱과 “|” 레시피 간의 성능 차이
  • 18.39 Procmail의 임시 파일 이름을 파일을 작성하는 동안
  • 18.40 매개변수 $@
  • 18.41 Procmail 변수는 널 종료됨 (널 문자열 감지)
  • 18.42 FROMDAEMON TO 및 TO 및 대소문자 구분
  • 18.43 TO_ 매크로 해독
  • 18.44 TO_ 매크로 및 RFC 822
  • 18.45 FROM_DAEMON 해독 19.0 기술적 문제
  • 19.1 종료 코드 목록
  • 19.2 우선 순위 코드 목록
  • 19.3 Sendmail 및 -t
  • 19.4 RFC822 Reply-To 및 여러 수신자에 대한 formail 문제
  • 19.5 Procmail 및 IMAP 서버
  • 19.6 메일을 처리하는 머신
  • 19.7 procmail을 컴파일하고 MAILSPOOLHOME 선택 20.0 Emacs용 Procmail 소프트웨어
  • 20.1 Emacs란?
  • 20.2 Emacs procmail 모드 및 Procmail 코드 검사 (Lint)
  • 20.3 Gnus와 함께 procmail 사용
  • 20.4 procmail을 위한 Gnus 설정 - 기본 사항
  • 20.5 procmail에 대한 Gnus - 더 많은 정보
  • 20.6 Emacs 및 Gnus - 스풀 파일 조작
  • 20.7 Gnus 기사 스니펫 21.0 RFC, 의견 요청
  • 21.1 RFC 및 그 관할권 (주소 변형)
  • 21.2 주소 변형에 대한 주석
  • 21.3 RFC 및 유효한 메일 주소 문자
  • 21.4 RFC 및 login-name@fdqn
  • 21.5 RFC 및 메시지 서명
  • 21.6 RFC 및 Usenet 뉴스 그룹에서 MIME 사용
  • 21.7 몇 가지 RFC 포인터 22.0 이메일 헤더 소개
  • 22.1 메일에 대해 더 알아보려면 (리소스)
  • 22.2 Alan Stebbens의 강의
  • 22.3 수신 메시지에 적용
  • 23.0 메시지 헤더
  • 23.1 올바른 From 주소 구문이란 무엇인가
  • 23.2 X-UIDL 헤더란 무엇인가?
  • 23.3 첫 번째 From_ 헤더란 무엇인가?
  • 23.4 메시지-ID 헤더
  • 23.5 수신 헤더
  • 23.6 Errors-To
  • 23.7 X-Subscription-Info
  • 23.8 Reply-To 헤더
  • 23.9 Mail-Copies-To 헤더
  • 23.10 Mail-Followup-To 및 Reply-To-Personal 헤더
  • 23.11 Content-Length 헤더 및 From_ 사양
  • 23.12 CC 복사에 대한 도덕
Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.