2016-06-05 15 views
0

Gibt es einen Befehl, um Dateien mit Curl von der gleichen Seite herunterzuladen und sie stattdessen mit Zahlen oder Zeitstempeln umzubenennen oder die Datei mit der Datei .php neu zu schreiben? Ich meine, die URL ist downloadfile.php?id=1500, also wenn ich die Option -O setze, bekomme ich eine Datei mit der Bezeichnung downloadfile.php und wenn ich die id=1501 die downloadfile.php wird umgeschrieben wird, ist es möglich, Curl zum Umbenennen jeder Curl-Anfrage auf Nummer oder Timestamp wie downloadfile00001.php?Herunterladen von Dateien mit Curl mit Zeitstempel oder anderen Namen?

+0

[ Dies könnte ein Duplikat sein] (http://stackoverflow.com/questions/9744973/is-there-a-way-to-give-a-specific-file-name-when-saving-a-file-via-curl -in-mac-o) – theatlasroom

+0

locken -o unixmiah

Antwort

0

Wenn Sie Flags verwenden, klingt es so, als würden Sie an der Befehlszeile arbeiten. -O verwendet denselben Namen wie die Remote-Datei. -o bedeutet, dass Sie in die Datei mit dem von Ihnen gewünschten Namen schreiben. Also in Ihrem Skript sei es Bash oder was Sie haben, würden Sie eine Variable verwenden, die Sie mit der gewünschten Version erhöhen.

Beispiel: curl website.com -o websitenamefileiwant.html

0

in Bash Scripting Sie dieses

filenames=(filename1.html filename2.html filename3.html) 

    curl -s -o "${filenames[i]}" <url> 

tun würde, oder Sie können diese auf der Kommandozeile tun

sudo curl http://path-to-url/downloadfile.php?id=1500 -o downloadfile00001.php 
+0

Danke Ich habe versucht, das Bash-Skript, aber wenn ich laufe, bekomme ich filename1.html und das ist neu geschrieben. 'Dateinamen = (filename1.html filename2.html filename3.html) curl es -o "$ {Dateinamen [i]}" curl es -o "$ {Dateinamen [i]}" curl -s -o "$ {filename [i]}" curl -s -o "$ {filename [i]}" ' –