[Clfs-dev] Download utility for final system
William Harrington
berzerkula at cox.net
Mon Sep 3 11:01:40 PDT 2012
On Sep 2, 2012, at 22:04 PM, William Harrington wrote:
> use gnu awk:
>
> BEGIN {
> NetService = "/inet/tcp/0/mirror.anl.gov/80"
> print "GET /pub/gnu/wget/wget-1.14.tar.xz" |& NetService
> while ((NetService |& getline) > 0)
> print $0
>
> close(NetService)
> }
>
> Then run gawk -f http.gawk > binaryfilename (this seems to have
> an issue with corrupting the binary data somehow.
Looked further into it. Of course a newline 0x0A was being added to
the end of the binary file.
=======
| GAWK |
=======
#!/bin/bash
gawk 'BEGIN {
NetService = "/inet/tcp/0/mirror.anl.gov/80"
print "GET /pub/gnu/wget/wget-1.14.tar.xz" |& NetService
while ((NetService |& getline) > 0)
print $0
close(NetService)
}' > binary
gawk '{q=p;p=$0}NR>1{print q}END{ORS = ""; print p}' binary >
wget-1.14.tar.xz
rm binary
======
| PERL |
======
perl -MHTTP::Tiny -E 'say HTTP::Tiny->new->get(shift)->{content}'
"http://ftp.gnu.org/gnu/wget/wget-1.14.tar.xz" > binary
perl -e 'local $/; $_ = <>; s/\n$//; print' binary > wget-1.14.tar.xz
rm binary
Pft, who needs download utilities when ya can use perl or gawk!
Sincerely,
William Harrington
More information about the Clfs-dev
mailing list