Die Option wget -nd (--no-verzeichnisse) funktioniert nicht wie erwartet

552
Baruch

Ich verwende wget1.12 (in msys, wenn es einen Unterschied macht) und versuche, eine Website mit der -ndOption zu spiegeln, da die Datei- und Ordnernamen auf dieser Site sehr lang sind. Die Dokumente sagen das aus

‘-nd’ ‘--no-directories’ Do not create a hierarchy of directories when retrieving recursively. With this option turned on, all files will get saved to the current directory, without clobbering (if a name shows up more than once, the filenames will get extensions ‘.n’). 

Dies ist jedoch nicht der Fall. Die gleichnamigen Dateien werden immer wieder überschrieben (denken Sie index.html auf einer großen Site). Wie bekomme ich das richtige Verhalten?

PS Der Grund, warum die Namen so lang sind, ist, dass sie auf Hebräisch sind und in ASCII% HH konvertiert werden. Gibt es eine andere Möglichkeit, dies zu tun?

2
Ich habe 1.11.4 Ich glaube, ich habe es von gnuwin32 bekommen. Ich hatte nichts von msys gehört, es sieht ähnlich aus. gnuwin32 ist besser bekannt, du könntest es auch versuchen. gnuwin32 Aber hast du ein Beispiel für eine Seite mit dem Problem? barlop vor 12 Jahren 0
wandelt es es aus Interesse in verschiedene ASCII-Zeichen oder nur Quadrate um? Ich finde, ich bekomme nur eckige Zeichen. Es gibt eine gute andere GUI für die Eingabeaufforderung von cygwin, die ein beliebiges Unicode-Zeichen anzeigt barlop vor 12 Jahren 0
Wenn Sie die Zeile, die Sie verwenden, und natürlich die Site oder eine Site mit dem Problem hinzufügen können, dann würde das helfen. barlop vor 12 Jahren 0
Ich habe dies zunächst vorzeitig erklärt, weil ich dachte, dies sei eine lohnende Frage, aber da er tatsächlich zurückgekehrt ist und noch keinen Link oder Link zu einer anderen Website mit dem Problem angegeben hat, ist dies nur ein Ärgernis. Wenn ich es gewusst hätte, hätte ich es nicht bewertet, also wäre es null, wenn es Glück hätte, und wenn ich es heruntergestuft hätte, wäre diese Frage auf -1, was sie fast verdient und vielleicht verdient. Gewiss verdient meine Zusage sicher nicht. Ich kann es einfach nicht absagen barlop vor 12 Jahren 0
Vielleicht ist es eine Einschränkung Ihres Dateisystems? Verwenden Sie NTFS oder FAT? Was ist, wenn Sie einen Testlauf mit einigen Dateien ausführen, die keine Punkte enthalten, so dass die hinzugefügte .n-Datei den einzigen Punkt hinzufügt? Flimzy vor 12 Jahren 0

1 Antwort auf die Frage

0
danadam

Möglicherweise haben Sie auch -N( --timestamping) verwendet, was beispielsweise von -m( --mirror) impliziert wird . Dadurch wird das Beibehalten von Dateien mit demselben Namen effektiv deaktiviert. Das Handbuch für -nc( --no-clobber) Option sagt:

Wenn Sie Wget mit '-N' ausführen, hängt die Entscheidung, ob eine neuere Kopie einer Datei heruntergeladen werden soll, vom lokalen und vom entfernten Zeitstempel sowie von der Größe der Datei ab

Wenn es 2 Dateien mit demselben Namen und unterschiedlichen Pfad (z. B. index.html) gibt, haben diese normalerweise unterschiedliche Größen. Aufgrund der Funktionsweise von Zeitstempeln wird die Datei bei Verwendung der -ndOption immer überschrieben .

Weitere Informationen finden Sie in der Dokumentation zum Zeitstempel .