Я регулярно получаю сгенерированное сообщение электронной почты, содержащее текстовую часть и текстовое вложение. Я хочу, чтобы проверить, если вложение в кодировке base64, а затем декодировать его нравится:Извлечь текст из части тела «содержание-распоряжение: вложение»
:0B
* ^(Content-Transfer-Encoding: *base64(($)[a-z0-9].*)*($))
{
msgID=`printf '%s' "$MATCH" | base64 -d`
}
Но всегда говорят, неверный ввод, кто знает, что это не так?
procmail: Match on "^()\/[a-z]+[0-9]+[^\+]"
procmail: Assigning "msgID=PGh0b"
procmail: matched "^(Content-Disposition: *attachment.*(($)[a-z0-9].*)* |Content-Transfer-Encoding: *base64(($)[a-z0-9].*)*($)"
procmail: Executing "printf '%s' "$MATCH" | base64 -d"
base64: invalid input
procmail: Assigning "msgID=<ht"
procmail: Unexpected EOL
procmail: Assigning "msgID=PGh0b"
procmail: Match on "^(Content-Transfer-Encoding: *base64(($)[a-z0-9].*)*($))"
procmail: Executing "printf '%s' "$MATCH" | base64 -d"
base64: invalid input
procmail: Assigning "msgID=<ht"
procmail: Unexpected EOL
Я отредактировал (или более как замененный) ваш вопрос с чем-то, что хотя бы четко определено и действенно. Надеюсь, мне удалось, по крайней мере, объяснить, какую проблему вы пытаетесь решить. – tripleee