제목 줄 앞에 [LIST]를 추가하여 성공적으로 다시 작성했습니다.
:0fhw
* ^TO_[^<>@ ]+@example\.com\>
* ^Subject:\/.+
| /usr/local/bin/formail -I"Subject: [LIST]$MATCH"
이는 성공하여 다음과 같이 됩니다.
Subject: here is the subject line
입력하다
Subject: [LIST] here is the subject line
[email protected]
하지만 다음과 같이 제목 줄 에 사용자 부분을 삽입하고 싶습니다 .
Subject: [LIST] [email protected] here is the subject line
$MATCH
...변수가 하나만 있는데 어떻게 해야 할지 모르겠습니다!
formail
제목 줄을 다시 쓰는 한 줄에 두 개의 서로 다른 변수를 삽입하려면 어떻게 해야 합니까 ?
답변1
개념적으로 대답은 간단합니다. $MATCH
다른 변수에 복사하는 것입니다. 실제로 MATCH
레시피당 하나만 얻을 수 있기 때문에 구현은 여전히 약간 부족합니다 . 해결책은 중첩된 레시피를 사용하는 것입니다.
:0
* ^Subject:\/.+
{
subj=$MATCH
:0
* ^TO_\/[^<>@ ]+@example\.com\>
{
user=$MATCH
:0fhw
* user ?? ()\/.+@example\.com
| formail -I"Subject: [LIST] $MATCH $subj"
}
}
\>
가장 안쪽 접근 방식은 캡처된 변수의 끝에서 일치 항목을 잘라내는 것입니다. user
이는 제목에 포함시키면 확실히 단순화될 수 있습니다.
에 대한 전체 경로를 하드코딩할 필요가 없도록 /usr/local/bin
주의 해서 포함할 수 있습니다 .PATH
formail