Ich möchte eine Binärdatei von https://github.com/sschwartzman/newrelic-unix-plugin herunterladen. aber die URL wird zu einer anderen Adresse umleiten, also benutze ich das awk um es zu parsen. z.B.Wie verwendet man awk um URLs zu parsen und an curl zu übergeben, um es herunterzuladen?
curl -I https://github.com/sschwartzman/newrelic-unix-plugin/blob/master/dist/newrelic_unix_plugin.tar.gz\?raw\=true | awk '/Location:/ {print $2}'
Und das Ergebnis ist wie erwartet, z.B.
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
https://github.com/sschwartzman/newrelic-unix-plugin/raw/master/dist/newrelic_unix_plugin.tar.gz
Die reale Adresse wird analysiert. also möchte ich nur curl verwenden, um es herunterzuladen. aber ich habe immer versagt. Mein os ist osx EI Capitan (ich habe nicht wget).
curl -I https://github.com/sschwartzman/newrelic-unix-plugin/blob/master/dist/newrelic_unix_plugin.tar.gz\?raw\=true | awk '/Location:/ {curl -O $2}'
Jeder Kommentar wird sehr geschätzt.
p.s. Ich habe versucht, die binäre directily durch curl herunterladen, aber immer noch fehlgeschlagen. Die heruntergeladene Datei hatte die falsche Größe und den falschen Inhalt.
curl -O https://github.com/sschwartzman/newrelic-unix-plugin/raw/master/dist/newrelic_unix_plugin.tar.gz
In Ihrem zweiten zum letzten Beispiel können Sie nicht geben Sie einfach die Worte „curl -O“ in Ihrem awk Skript und erwarten, dass es funktioniert, und es ist nicht zu empfehlen Programme von "inside" awk ausführen (obwohl Sie können). Du bist das letzte Beispiel scheint am wahrscheinlichsten zu sein, aber hast du versucht 'curl -O outFile.tar.gz https: // ....'? Viel Glück. – shellter