On Mon, 2010-02-01 at 00:33 +0100, Michelle Konzack wrote:
Hello *,
Now it is solved using following script:
----[ '~/.tdtools-procmail/BUSINESS_firms_maxim' ]----------------------
<snip>
:0
* ^From:.*Application Notes
{
# Eliminate any encodings
TMPVAR1=`mimedecode |grep --max-count=1 "^URL: " |sed 's|^URL: ||' ; :`
# Get the number of the AppNote
TMPVAR2=`echo "${TMPVAR1}" |sed 's|.*an_pk/||' |tr -d ' ' ; :`
# Download the AppNote
TMPVAR3=`wget --user-agent="tdtools-procmail v${TDTP_VERSION}" --quiet -O
- ${TMPVAR1} ; :`
:0
* ? test -n "${TMPVAR3}"
{
# Get the link to the PDF
TMPVAR4=`echo -e "${TMPVAR3}" |grep 'pdfserv' |head -n1 |sed
's|.*http://pdfserv|http://pdfserv|' |sed 's|\.pdf.*|.pdf|' ; :`
:0fw
| ( formail -i "Subject: [${TMPVAR2}] ${MSG_SUBJECT}" ; \
echo
"========================================================================${NL}"
; \
echo "PDF URL: ${TMPVAR4}${NL}" ; \
echo
"========================================================================${NL}"
; \
echo "####_BEGIN_HTML_2_####" ; \
echo "####_BEGIN_HTML_H_####" ; \
echo "####_BEGIN_HTML_1_####" ; \
echo "${TMPVAR3}" ; \
echo "####_END_HTML_1_####" ; \
echo "####_END_HTML_2_####" )
TMPVAR3=""
:0fw
* B ?? APPLICATION NOTE
| sed '/####_BEGIN_HTML_1_####/,/APPLICATION NOTE /d' |sed
's|.*APPLICATION
NOTE |<html><head></head><body><table><tr><td>APPLICATION NOTE |'
:0fw
* B ?? ! \<html\>
| sed
's|####_BEGIN_HTML_H_####|<html><head></head><body><table><tr><td>APPLICATION
NOTE |'
:0fw
* B ?? REFERENCE DESIGN
| sed '/####_BEGIN_HTML_1_####/,/REFERENCE DESIGN /d' |sed
's|.*REFERENCE
DESIGN |<html><head></head><body><table><tr><td>APPLICATION NOTE |'
:0fw
* B ?? ! \<html\>
| sed
's|####_BEGIN_HTML_H_####|<html><head></head><body><table><tr><td>REFERENCE
DESIGN |'
# Eleminate the unused FOOTER
:0fw
* B ?? \<\!\-\-\ BEGIN:\ EE\-MAIL\ \-\->
| sed '/<\!\-\- BEGIN:\ EE\-MAIL \-\->/,/####_END_HTML_1_####/d'
# Attach a footer if there is no one
:0fw
* B ?? ! \</html\>
| sed -e
"s|####_END_HTML_2_####|\n</table></body></html>\n####_END_HTML_2_####|"
TMPVAR9=`sed '/####_BEGIN_HTML_2_####/,/####_END_HTML_2_####/!d' |grep
-v 'HTML_2_####' |html2text -width 72 -nobs -style pretty |sed '$!N;
/^\(.*\)\n\1$/!P; D' ; :`
:0fw
* ? test -n "${TMPVAR9}"
| ( sed "/####_BEGIN_HTML_2_####/,/####_END_HTML_2_####/d" ; \
echo "${TMPVAR9}" )
}
:0
.Business.USA.Maxim.App_Notes/
}
<snip>
------------------------------------------------------------------------
It is tested on my own Mail-Server and the Backup
Thanks, Greetings and nice Day/Evening
Michelle Konzack
Systemadministrator
Electronic Engineer
Tamay Dogan Network
Debian GNU/Linux Consultant
I'd like to make some suggestions ...
If I made any mistakes with this, I'll be happy to make corrections accordingly.
Basically, here is a rewrite of what you have above, side-stepping the memory
issue altogether by never using TEMPVAR3 in the first place.
I'll be very pleased if I can be more helpful.
Note that the retrieved page is emulated emulated as TMPVAR3.html, and
containing what you e-mailed me and also stuffed to make it 205 kB
john(_at_)system76-pc:~/kon$ ls -l
-rw-r--r-- 1 john john 2504 2010-02-01 14:05 kon.rc
-rw-r--r-- 1 john john 78055 2010-01-31 09:09
Re:_How_to_let_procmail_use_mre_memory?
-rw-r--r-- 1 john john 205232 2010-02-01 12:32 TMPVAR3.html
john(_at_)system76-pc:~/kon$ cat kon.rc
VERBOSE=yes
SHELL='/bin/sh'
NL='
'
LINEBUF=123456
MSG_SUBJECT="< message subject >"
:0
#* ^From:.*Application Notes
{
TMPVAR1=`mimedecode | sed -ne '/^URL: /{s|^URL: ||;p;q}'`
TMPVAR2=`echo "${TMPVAR1}" |sed 's|.*an_pk/||;s| ||g'` # <- spaces ??? in
tmpvar1 => won't they mess up the wget ???
:0 ifb
* TMPVAR1 ?? http
#| wget --user-agent="tdtools-procmail v${TDTP_VERSION}" --quiet -O -
${TMPVAR1} ; :
| cat TMPVAR3.html
:0
* 1^1 > 1
{
SIZE=$=
TMPVAR4=`grep 'pdfserv' |head -n1 |sed -ne
'/pdfserv/{s|.*http://pdfserv|http://pdfserv|;s|\.pdf.*|.pdf|;p;q}' ; :`
:0 fhw
| formail -i "Subject: [${TMPVAR2}] ${MSG_SUBJECT}"
:0 ifbw
| echo
"========================================================================${NL}"
; \
echo "PDF URL: ${TMPVAR4}${NL}" ; \
echo
"========================================================================${NL}"
; \
echo "####_BEGIN_HTML_2_####" ; \
echo "####_BEGIN_HTML_H_####" ; \
echo "####_BEGIN_HTML_1_####" ; \
cat - ; \
echo "####_END_HTML_1_####" ; \
echo "####_END_HTML_2_####"
# TMPVAR3=""
# unchanged from here on ...
:0fw
* B ?? APPLICATION NOTE
| sed '/####_BEGIN_HTML_1_####/,/APPLICATION NOTE /d' |sed
's|.*APPLICATION NOTE |<html><head></head><body><table><tr><td>APPLICATION
NOTE |'
:0fw
* B ?? ! \<html\>
| sed
's|####_BEGIN_HTML_H_####|<html><head></head><body><table><tr><td>APPLICATION
NOTE |'
:0fw
* B ?? REFERENCE DESIGN
| sed '/####_BEGIN_HTML_1_####/,/REFERENCE DESIGN /d' |sed
's|.*REFERENCE DESIGN |<html><head></head><body><table><tr><td>APPLICATION
NOTE |'
:0fw
* B ?? ! \<html\>
| sed
's|####_BEGIN_HTML_H_####|<html><head></head><body><table><tr><td>REFERENCE
DESIGN |'
:0fw
* B ?? \<\!\-\-\ BEGIN:\ EE\-MAIL\ \-\->
| sed '/<\!\-\- BEGIN:\ EE\-MAIL \-\->/,/####_END_HTML_1_####/d'
:0fw
* B ?? ! \</html\>
| sed -e
"s|####_END_HTML_2_####|\n</table></body></html>\n####_END_HTML_2_####|"
TMPVAR9=`sed '/####_BEGIN_HTML_2_####/,/####_END_HTML_2_####/!d' |grep -v
'HTML_2_####' |html2text -width 72 -nobs -style pretty |sed '$!N;
/^\(.*\)\n\1$/!P; D' ; :`
:0fw
* ? test -n "${TMPVAR9}"
| ( sed "/####_BEGIN_HTML_2_####/,/####_END_HTML_2_####/d" ; \
echo "${TMPVAR9}" )
}
:0
#.Business.USA.Maxim.App_Notes/
output.txt
}
john(_at_)system76-pc:~/kon$ echo "URL:
http://www.example.com/example-an_pk/178" | procmail -m kon.rc
procmail: [25470] Mon Feb 1 14:06:02 2010
procmail: Assigning "SHELL=/bin/sh"
procmail: Assigning "NL=
"
procmail: Assigning "LINEBUF=123456"
procmail: Assigning "MSG_SUBJECT=< message subject >"
procmail: Executing "mimedecode | sed -ne '/^URL: /{s|^URL: ||;p;q}'"
procmail: Assigning "TMPVAR1=http://www.example.com/example-an_pk/178"
procmail: Executing "echo "${TMPVAR1}" |sed 's|.*an_pk/||;s| ||g'"
procmail: Assigning "TMPVAR2=178"
procmail: Match on "http"
procmail: Executing "cat,TMPVAR3.html"
procmail: Score: 205278 205278 "> 1"
procmail: Assigning "SIZE=205278"
procmail: Executing "grep 'pdfserv' |head -n1 |sed -ne
'/pdfserv/{s|.*http://pdfserv|http://pdfserv|;s|\.pdf.*|.pdf|;p;q}' ; :"
procmail: Assigning "TMPVAR4=http://pdfserv.maxim-ic.com/en/an/AN178.pdf"
procmail: Executing " formail -i "Subject: [${TMPVAR2}] ${MSG_SUBJECT}" "
procmail: Executing " echo
"========================================================================${NL}"
; \
echo "PDF URL: ${TMPVAR4}${NL}" ; \
echo
"========================================================================${NL}"
; \
echo "####_BEGIN_HTML_2_####" ; \
echo "####_BEGIN_HTML_H_####" ; \
echo "####_BEGIN_HTML_1_####" ; \
cat - ; \
echo "####_END_HTML_1_####" ; \
echo "####_END_HTML_2_####""
procmail: No match on "APPLICATION NOTE "
procmail: No match on ! "\<html\>"
procmail: No match on "REFERENCE DESIGN "
procmail: No match on ! "\<html\>"
procmail: Match on "\<\!\-\-\ BEGIN:\ EE\-MAIL\ \-\->"
procmail: Executing " sed '/<\!\-\- BEGIN:\ EE\-MAIL
\-\->/,/####_END_HTML_1_####/d'"
procmail: Match on ! "\</html\>"
procmail: Executing " sed -e
"s|####_END_HTML_2_####|\n</table></body></html>\n####_END_HTML_2_####|""
procmail: Executing "sed '/####_BEGIN_HTML_2_####/,/####_END_HTML_2_####/!d'
|grep -v 'HTML_2_####' |html2text -width 72 -nobs -style pretty |sed '$!N;
/^\(.*\)\n\1$/!P; D' ; :"
procmail: Assigning "TMPVAR9=####_BEGIN_HTML_H_#### ####_BEGIN_HTML_1_####
APPLICATION NOTE 178
<clipped>
... Full_Data_Sheet Free_Samples
(PDF, 456kB)
------------------------------------------------------------------------"
procmail: [25470] Mon Feb 1 14:06:03 2010
procmail: Executing " test -n "${TMPVAR9}""
procmail: [25470] Mon Feb 1 14:06:03 2010
procmail: Match on " test -n "${TMPVAR9}""
procmail: Executing " ( sed "/####_BEGIN_HTML_2_####/,/####_END_HTML_2_####/d"
; \
echo "${TMPVAR9}" )"
procmail: Assigning "LASTFOLDER=output.txt"
procmail: Opening "output.txt"
procmail: Acquiring kernel-lock
From foo(_at_)bar Mon Feb 1 14:06:02 2010
Subject: [178] < message subject >
Folder: output.txt 43704
--
JW Simpson <john(_at_)swajime(_dot_)com>
SwaJime's Cove℠
____________________________________________________________
procmail mailing list Procmail homepage: http://www.procmail.org/
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)de
http://mailman.rwth-aachen.de/mailman/listinfo/procmail