Hallo David, hallo Leute, Am Donnerstag, 12. Juni 2003 12:12 schrieb David Haller:
On Mon, 09 Jun 2003, Jan Trippler wrote:
On Sam, 07 Jun 2003 at 17:57 (+0200), David Haller wrote:
On Sat, 07 Jun 2003, Jan Trippler wrote:
On Fre, 06 Jun 2003 at 09:25 (+0200), David Haller wrote:
dh@slarty[1]: /tmp/test3 (0)$ ls -b1 a\tb b\tc c\nd
Ich biete mal ein wenig mehr ;-) cb@tux:/tmp/tmp-cb/kranke_dateinamen> ls -1b a\tb b\tc c\nd d\ne x\\\ty # Idee dazu kam nach dem folgenden: y\\tz # und diese Nettigkeit ist mir eher zufällig bei einem # "missglückten" touch entstanden ;-) [...]
D.h. tar expandiert faelschlich das backslash-t im Dateinamen zu einem tab...
Nicht nur \t, auch andere (z. B. ist es mir bei \n aufgefallen, mehr hab ich nicht getestet)
[...]IMO ist das ein Bug in tar... Wenn ich dran denke und Zeit habe, schau ich mir mal den code von 'tar' an und reiche ggfs. einen Bugreport ein...
Wäre wohl fällig, IMHO ;-) cb@tux:/tmp/tmp-cb/kranke_dateinamen> LANG=C tar cvf test.tar * a\tb tar: b\tc: Cannot stat: No such file or directory c\nd tar: d\ne: Cannot stat: No such file or directory tar: x\\ty: Cannot stat: No such file or directory tar: y\tz: Cannot stat: No such file or directory tar: Error exit delayed from previous errors Immerhin - zumindest in der Fehlermeldung stimmen die Dateiname wieder *g* (was allerdings IMHO ein Bug des Bugs ist ;-) [...]
PS: $ tar --version | head -1 tar (GNU tar) 1.12
cb@tux:/tmp/tmp-cb/kranke_dateinamen> tar --version |head -n1 tar (GNU tar) 1.13.25 SuSE 8.2
Kann obiges mal jemand mit (anderen Versionen) nachvollziehen?
Jepp, der Bug ist immer noch drin. Einziger Unterschied: in der Fehlermeldung werden die Dateinamen anscheinend richtig angezeigt (was ich nicht unbedingt gut finde, da so die Fehlersuche noch schwerer wird...) Und das tar der SuSE 8.2 sollte doch recht aktuell sein ;-)
PPS: Jan, ich denke, obiges Beispiel sollte mit in unser "kranke-Dateinamen"-Archiv... Ich fang die Tage mal einen tarball (sic!) an, weiteres per PM?
Nehmt Ihr mich auch in den Verteiler?
Apropos: da faellt mir ein guter Dateiname fuer den tarball ein: "filename-insanity-check.tar" ;) Was ne Ironie, dass eben 'tar' da offenbar selber Schwierigkeiten hat... *lol*
Naja, notfalls könnte man ja noch ein ZIP-Archiv erstellen *flücht* Scheint sogar zu funktionieren: cb@tux:/tmp/tmp-cb/kranke_dateinamen> zip test.zip * adding: a b (stored 0%) adding: b\tc (stored 0%) adding: c d (stored 0%) adding: d\ne (stored 0%) adding: x\\ty (stored 0%) adding: y\tz (stored 0%) Gruß Christian Boltz --
Yapp, wir hamm uns wieder lieb ;) Pinguine zeigen sich den Schnabel, dann geht dat wieder. Mönsch ist das Langweilig. *poppcornwiederwegräum* [> Thorsten von Plotho-Kettner und Bernd Brodesser in suse-linux]