[lug-ld] Problem mit Dateinnamen

Christian Boltz lug-ld at cboltz.de
Sa Apr 18 16:21:24 CEST 2009


Hallo Patrick, hallo Leute,

Am Samstag, 18. April 2009 schrieb Patrick Clemens:
> mir ist ein dezenter Fehler passiert. Ich habe von einem Windows
> Rechner via SSH Datein auf meinen Linux Rechner übertragen.
>
> Dabei waren aiuch Verzeichnisse die Sonderzeichen hatten (äöü) und
> auch einige Bilder die diese Zeichen haben.
> Beispiel:
>
> Schlupp Vom gr?nen Stern
>
> ich kann ins Verzeichnis wechseln und die daten lesen aber ich kann
> es nicht kopiern oder umbennen( umbennen würde mich vollkommen
> reichen für dieweitere Verwendung)
>
> Weisjemand wie ich diese Sonderzeichen  behandeln muß damit ich sie
> loswerde?

Von welcher Menge an Dateien reden wir hier? (Sprich: ist manuelles 
Umbenennen eine Option oder sind es dafür zu viele Dateien?)

Erstmal der Hinweis: mit   ls -b   bekommst Du immerhin raus, um welche 
komischen Zeichen es sich handelt - sie werden dann in escapter Form 
angezeigt.

Quasi-automatisch geht das Umbenennen, wenn Du rausbekommst, mit welchem 
Zeichensatz die Dateinamen codiert sind und welchen Zeichensatz Du 
unter Linux verwendest. Nähere Infos:   man convmv
Mit etwas Glück hilft   ls -N --show-control-chars | file -   beim 
Ermitteln des Zeichensatzes.

Händisches Umbenennen sollte mit Hilfe der Tab-Completion in der Shell 
gehen, wenn die Dateinamen einigermaßen eindeutig sind: Den ersten Teil 
des Dateinamens tippen, dann die Sonderzeichen mit der Tab-Taste 
vervollständigen lassen ;-) (dann kümmert sich die Shell automatisch 
ums richtige Escaping) und den Ziel-Dateinamen tippen.

Einfaches Beispiel: Gegeben sei eine Datei namens   foo'bar"baz

Du tippst
    mv foo<tab>
und schon sollte
    mv foo\'bar\"baz
dastehen. Jetzt noch ergänzen zu
    mv foo\'bar\"baz foo_bar_baz
einmal Enter drücken - fertig.


Gruß

Christian Boltz
-- 
wer Windows in irgendeiner Form verwendet (ausser
als abschreckendes Beispiel) ist selbst schuld.
[Carsten Becher in suse-linux]