zeichensatz des dateinamens / des inhaltes feststellen

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Odysseus24
Beiträge: 145
Registriert: 04.01.2005 04:32:46
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Bremen

zeichensatz des dateinamens / des inhaltes feststellen

Beitrag von Odysseus24 » 26.07.2007 22:53:34

Hallo @_Debianforum !

Kennt jemand ein tool, mit dem man bestimmen kann, ob zeichen jenseits von ASCII (>127 bzw. 0x7F) im dateinamen vorkommen (im nächsten schritt würde mich dann natürlich auch der inhalt interssieren) ? Also solche zeichen, die in den iso-sätzen verschieden dargestellt werden (und auch in utf8). Mit wildcards/unterbereichen, find, grep, sed usw. komme ich da irgendwie nicht weiter... auch mit LC_CTYPE und dessen klassen nicht... weiß jetzt auch nicht mehr weiter...

Möchte eigentlich bald mal an Etch 'ran und möchte das vorher checken, bevor ich auf utf8 umstelle. Und einfachso tools wie recode, convmv oder iconv blind auf mein system loszulassen, ist mir nicht ganz geheuer.

bin für jeden hinweis dankbar...
Odysseus24
...in a sea of random images
the self-destructing animal
waiting for the waves to break
(Richard Wright)

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Beitrag von roli » 27.07.2007 10:10:45

Hi,

ohne es "mal eben" ausprobieren zu koennen, meine ich das "file" dir sagt, in welchem Zeichensatz eine Datei erstellt wurde. Für den Dateinamen faellt mir spontan kein Tool ein.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

Odysseus24
Beiträge: 145
Registriert: 04.01.2005 04:32:46
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Bremen

Beitrag von Odysseus24 » 27.07.2007 12:58:40

Ahoi roli !

Danke Dir; file hatte ich sogar schon ausprobiert - doch in meiner fokussierung auf das scheinbar einfachere problem "dateinamen" seine möglichkeiten gar nicht richtig erfaßt. Damit komme ich in dieser frage wohl erstmal weiter - ich überlege gerade, ob ich nicht je einen verzeichniseintrag in eine datei umleite (evtl pipe) und dann das mit file checke... mal überlegen...

p.s. ich könnte natürlich auch einfach eine liste aller non-ascii-zeichen erstellen und in *[<liste>]* einbauen (und dann mit find oder ls filtern), aber das widerstrebt mir zutiefst. Mal sehen, vielleicht komme ich jetzt ja eleganter zum ziel...
Werde dann berichten...
...in a sea of random images
the self-destructing animal
waiting for the waves to break
(Richard Wright)

Odysseus24
Beiträge: 145
Registriert: 04.01.2005 04:32:46
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Bremen

Beitrag von Odysseus24 » 27.07.2007 18:46:56

Hello again :-)

Also: bevor sich hier noch jemand den kopf zerbricht (wie ich seit mittwoch abend): mit "convmv" geht das doch sehr gut; das tool kann sogar einen test-modus, in welchem es einen konkreten mv- bzw. umbenenn-vorschlag macht - diesen aber nicht ausführt ! Rekursiv-mode -r gibt's natürlich auch. Echt genial - ; umgeleitet in eine textdatei habe ich dann gleich auch noch ein script für den moment, wenn dann komplett auf utf8 umstelle (kurz bevor auf Etch upgegradet wird...)

Jetzt muß ich mir "nur" noch über die dateiinhalte gedanken machen...
...in a sea of random images
the self-destructing animal
waiting for the waves to break
(Richard Wright)

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Beitrag von ThorstenS » 29.07.2007 01:10:54

vllt. hilft dir das utf8-migration-tool - für etch habe ich das mal paketiert.

Odysseus24
Beiträge: 145
Registriert: 04.01.2005 04:32:46
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Bremen

Beitrag von Odysseus24 » 29.07.2007 20:06:33

Gracie Thorsten,

...d.h. unter Sarge dürfte es noch nicht laufen... eigentlich wollte ich unmstellen, direkt bevor ich dist-upgrade - dann würden evtl. alle neuen dateien im fs schon als utf8 gespeichert.

Ich wüßte nur zu gerne, wovon abhängt, wie eine anwendung textdateien (bzw. dateien mit text-symbolen, also für die (g)ui - ich meine hier messages, dialoge, menuoptionen) interpretiert. Bestimmt die anwendung den (erwarteten) zeichensatz oder läuft das auf kernel- bzw. fs-ebene ? Wer wertet dateien, wie /etc/environment oder /etc/locale* aus ?
Richtet sich die anwendung überhaupt nach der systemeinstellung, oder kann es passieren, daß die einfach von einem bestimmten zeichensatz ausgeht (der vielleicht beim compilieren oder installieren gerade eingestellt war) ?
Wenn ich nämlich jetzt einfach so dateien konvertiere und auf utf8 umstelle und eine anwendung dann dennoch den ursprünglichen charset erwartet (weil sie evtl. gar nichts ausliest und der kernel da auch keine entscheidung trifft), dann werde ich probleme mit der (g)ui dieser anwendung bekommen (und z.b. kauderwelsch in den dialogen vorgesetzt bekommen)...

Fragen über fragen; die grundregeln hier leuchten mir noch nicht so richtig ein...:?::?::?:

lg
Odysseus24
...in a sea of random images
the self-destructing animal
waiting for the waves to break
(Richard Wright)

Antworten