Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Jun 2009 08:21:03 -0600
From:      Modulok <modulok@gmail.com>
To:        Zhang Weiwu <zhangweiwu@realss.com>
Cc:        FreeBSD Questions mailing list <freebsd-questions@freebsd.org>
Subject:   Re: scripting suggestion: how to make this command shorter
Message-ID:  <64c038660906270721v6908c058l53cc574ce43f40a1@mail.gmail.com>
In-Reply-To: <4A461551.7090702@realss.com>
References:  <4A461551.7090702@realss.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Zhang,

Perhaps you could put it into a text file and have cron simply execute
the text file. By doing so, you are free to break it up into a more
digestible format and start using programming constructs to make your
life easier. (Such as storing values in variables, or processing
standard input so the script can be called with various URL's and so
forth.) Your cron job could then simply execute "/home/you/bin/foo",
where 'foo' is whatever you decide to name the script.

Is there any specific reason why this has to be all on one line?
-Modulok-

On 6/27/09, Zhang Weiwu <zhangweiwu@realss.com> wrote:
> Hello. I wrote this one-line command to fetch a page from a long uri,
> parse it twice: first time get subject & second time get content, and
> send it as email to me.
>
> $ w3m -dump
> 'http://search1.taobao.com/browse/33/n-g,w6y4zzjaxxymvjomxy--------------=
--40--commend-0-all-33.htm?at_topsearch=3D1&ssid=3De-s5'
> | grep -A 100 =B6=D4=B1=C8 | mail -a 'Content-Type: text/plain; charset=
=3DUTF-8' -s
> '=3D?UTF-8?B?'`w3m -dump
> 'http://search1.taobao.com/browse/33/n-g,w6y4zzjaxxymvjomxy--------------=
--40--commend-0-all-33.htm?at_topsearch=3D1&ssid=3De-s5'
> | grep =D5=D2=B5=BD.*=BC=FE | base64 -w0`'?=3D' zhangweiwu@realss.com
>
>
> The stupid part of this script is it fetches the page 2 times and parse
> 2 times, thus making the command very long. If I can write the command
> in a way that the URI only appear once, then it is easier for me to
> maintain it. I plan to put it in cron yet avoid having to modify two
> places when the URI changes (and it does!).
>
> How do you suggest optimizing the one-liner?
>
> By the way I feel it stupid having to wrap the subject by using:
> $ mail -s '=3D?UTF-8?B?'`echo $subject | base64`'?=3D'
>
> instead of
> $ mail -s $subject
>
> Because mail(1), as defined, intelligent user agent, should know the
> current locale is UTF-8 and should know UTF-8 header must be base64
> encoded for RFC compatibility. Yet it also should know if mail body is
> UTF-8 the header 'Content-Type: text/plain; charset=3DUTF-8' must not be
> omitted in case of UTF-8 content. I think this is a bug, as both are
> required by RFC. How do you think?
> _______________________________________________
> freebsd-questions@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.o=
rg"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?64c038660906270721v6908c058l53cc574ce43f40a1>