[kwlug-disc] wget and variable assignment
William Park
opengeometry at yahoo.ca
Thu Jun 3 21:55:23 EDT 2010
On Thu, Jun 03, 2010 at 12:58:15PM -0400, Richard Weait wrote:
> I have a simple screen-scrape to do.
>
> >From the command line it works fine
>
> wget -q -O - http://www.openstreetmap.org/stats/data_stats.html| grep
> "<td>Number of users" | sed -e 's/[:a-zA-Z <>/:]//g'
>
> it returns the plain number
>
> 262086
>
> Cool, now to add it to a script
>
> This works fine
> GETTEE=`wget -q -O -
> http://www.openstreetmap.org/stats/data_stats.html| grep "<td>Number
> of users" | sed -e 's/[:a-zA-Z <>/:]//g'`
> echo "GETTEE = $GETTEE"
>
> gives:
> GETTEE = 262086
>
> But. I want to grab some other data from the same page, so I want to
> wget once, then grep / sed a couple of times. And I'm breaking it.
> The page appears to have been stripped of its \n and so grepping the
> line I want is failing.
>
> GETTEE=`wget -q -O - http://www.openstreetmap.org/stats/data_stats.html`
> echo "GETTEE = $GETTEE"
>
> This returns a mess.
>
> The quick and dirty is to wget four times for four numbers, but I
> don't want to do that. How do I assign the wget to a variable and
> keep \n ?
Internal LFs will be preserved. Only the last LF will be stripped.
Eg.
$ a=`echo 1; echo 2`
$ echo ".$a."
.1
2.
But, shell variable is not good way to do this. Save the page to file.
--
William
More information about the kwlug-disc
mailing list