Ich habe eine Datei mit einer Liste von Links zu einigen YouTube-Videos.
Wenn ich den Befehl ausführe:
wget -i list
Alles funktioniert einwandfrei, aber wget benennt die Dateien automatisch in Kauderwelsch am Ende jedes Links um. Das manuelle Ausführen von wget ist keine Option, da es viel zu viele Links gibt. Wie kann ich den Links, die wget erkennt, einen benutzerdefinierten Namen geben?
Akzeptierte Antwort:
Das -O
Mit der Option können Sie den Namen der Zieldatei angeben. Aber wenn Sie mehrere Dateien gleichzeitig herunterladen, wget
speichert ihren gesamten Inhalt in der Datei, die Sie mit -O
angeben . Beachten Sie, dass in beiden Fällen die Datei abgeschnitten wird wenn es schon existiert. Weitere Informationen finden Sie auf der Manpage.
Sie können diese Option ausnutzen, indem Sie wget
mitteilen um die Links einzeln herunterzuladen:
while IFS= read -r url;do
fileName="blah" # Add a rule to define a new name for each file here
wget -O "$fileName" "$url"
done < list
Sie können auch den Vorschlag von JJoao übernehmen und neben jeder URL in der Datei einen Dateinamen hinzufügen und dann Folgendes tun:
while IFS= read -r url fileName;do
wget -O "$fileName" "$url"
done < list
wobei davon ausgegangen wird, dass Sie nach jeder URL in der Datei einen (eindeutigen) Dateinamen hinzugefügt haben (durch ein Leerzeichen getrennt).