私は次の (従来の) procmail レシピを使用して、メーリング リストの電子メールをキャッチし、リスト名でフォルダーにファイルします。
:0
* ^((List-Id|X-(Mailing-)?List):(.*[<]\/[^>]*))
{
LISTID=$MATCH
:0
* LISTID ?? ^\/[^@\.]*
Lists/$MATCH/
}
問題は、リスト名がすべて小文字から Firstlettercap に変更された場合、'listname' 用と 'Listname' 用の 2 つのフォルダーができてしまうことです。
$MATCH 変数を最終配信ルールで使用する前に小文字に変換したいのですが、lc() 関数への参照、またはこれを行うために使用できる正規表現/置換が見つかりません。
以下の1つのコメントはこれを示唆しました:
:0
* ^((List-Id|X-(Mailing-)?List):(.*[<]\/[^>]*))
{
LISTID=`echo "$MATCH" | tr A-Z a-z`
:0
* LISTID ?? ^\/[^@\.]*
.Lists.$MATCH/
}
これも、私が求めていることをしていないようです。ただし、今見てみると、音訳は $MATCH が最初に出現したときにのみ行われていることが明らかであり、フォルダー割り当て行で使用するためにまったく変更されていないと思います。
更新 #1: フォルダー割り当て行で LISTID を使用しようとすると、「Bricolage」だけでなく、「Bricolage.project.29601.lighthouseapp」のようなものが表示されます。つまり、「bricolage」だけです。