Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

sort Sortierungsfehler mit a-zÄÖÜßäöü bzw. öÄÜßüaÖb-näo-z

Frage Entwicklung Batch & Shell

Mitglied: 45753

45753 (Level 1)

09.08.2007, aktualisiert 13.08.2007, 4475 Aufrufe, 5 Kommentare

Hallo zusammen,

"sort" hat Probleme mit den Buchstaben ä,ö,ü,ß.

mit Gebietsschema "C" sortiert er

a-zÄÖÜßäöü

und ohne Gebietsschema "C" sortiert er

öÄÜßüaÖb-näo-z

Im Script hab ich nun mit Gebietsschema "C" ein alphabetfix eingebaut in dem z.b. alle ä nach aeþþþ umgewandelt werden, dann der Text mit sort sortiert wird und dann die Buchstaben wieder zurückgewandelt werden.
Nur bringt dies das Problem mit sich, dass alle äöü - egal ob gross ober klein je nach Angabe in klein äöü ODER gross ÄÖÜ zurückgewandelt werden. Der Befehl

set "fixumlaute=%fixumlaute:ä=aeþþþ%" achtet nicht auf gross-/kleinschreibung. Ä's ob gross oder klein werden nach aeþþþ umgewandelt.

Gibt es dafür eine Lösung ?

Gruesse, wobleibtdiezeit
Mitglied: Seltermann
10.08.2007 um 17:02 Uhr
wie genau sieht denn der Kram aus den du sortieren lassen willst?
Stehen die Wörter untereinander in einer Textdatei?
Oder willst du Dateien sortieren lassen?
Bitte warten ..
Mitglied: 45753
10.08.2007 um 19:22 Uhr
Hallo Setlermann,

Ich hab nicht ganz raus auf was du hinaus willst. Deshalb erklaere ich Dir einfach mal was loss ist...

In der Textdatei befinden sich Auflistungen von Dateien und/oder Ordnern aus einem Ordner +/- deren Unterordnern. Dies lass ich mir in eine Textdatei ausgeben.

Ich beschraenke es mal auf den wichtigsten Ausgabenverlauf:

1. die Ausgabe mit Unterordnern und ohne sort nach Dir Parametern /ogn /s
zuerst alphabetisch die Ornder und dann alphabetisch die Dateien:

"Ordner 1\"
"Ordner 2\"
"Neue Datei.txt"
"Überarbeitete Datei.txt"
"Ordner 1\Änderung in Datei.txt"
"Ordner 2\Überarbeitete Datei.txt"

2. Die Ausgabe aus 1. aber ohne die Pfadeangaben der Unterordner und immer noch ohne sort:

"Ordner 1\"
"Ordner 2\"
"Neue Datei.txt"
"Überarbeitete Datei.txt"
"Änderung in Datei.txt"
"Überarbeitete Datei.txt"

3. Die Ausgabe aus 2. und diesmal mit sort und dem Problem welches ich geschildert habe.
Um es komplett zu machen wieder zuerst alphabetisch die Ornder und dann alphabetisch die Dateien. Das hab ich gelost indem ich die Ausgabe der Ordner und die Ausgabe der Dateien in zwei verschiedene Textdateien umgelenkt habe. Diese werden mit sort einzeln sortiert und dann wieder zu einer Textdatei zusammengefuegt. Und so haette ich nun gerne die Ausgabe.

"Ordner 1\"
"Ordner 2\"
"Änderung in Datei.txt"
"Neue Datei.txt"
"Überarbeitete Datei.txt"
"Überarbeitete Datei.txt"

da die sortierung ohne Gebietsschema "C" alles verkrüppelt nehme ich diese also nicht. Mit Gebietsschema "C" kommen alle Umlaute und das ß nach dem Buchstaben z. Und so sieht die Ausgabe nun aus:

"Ordner 1\"
"Ordner 2\"
"Neue Datei.txt"
"Änderung in Datei.txt"
"Überarbeitete Datei.txt"
"Überarbeitete Datei.txt"

wenn ich nun mein %fixumlaut% aktiviere, dann sieht die Ausgabe so aus:

"Ordner 1\"
"Ordner 2\"
"änderung in Datei.txt"
"Neue Datei.txt"
"überarbeitete Datei.txt"
"überarbeitete Datei.txt"

alphabetisch korrekt, doch die Gross-/Kleinschreibung ist futsch - und genau das ist mein Problem welches ich oben geschildert habe. Vielleicht bekommt man die Lösung durch eine andere Herangehensweise auf die ich aber noch nicht gekommen bin....

[Edit]

...verschmerzbar waere nur die ersten Buchstaben der Objektnahmen auf umlaute zu prüfen um nur diese bei bedarf zu aendern. Also...

set "fixumlaut_firstletter=%fixumlaut:~0,1%
if "%fixumlaut_firstletter%" == "ä" set "fixumlaut_firstletter=aeþþþ
if "%fixumlaut_firstletter%" == "Ä" set "fixumlaut_firstletter=Aeþþþ
...
...
...und das gleiche beim Zurueckwandeln - also insgesamt 12 Abfragen pro Datei. Die Umlaute innerhalb der Objektnamen wuerden dann natuerlich nicht mitverarbeitet werden.
Nur ist das auch keine echte Lösung. Und so muss die Wandlung nachwievor nur als auswaehlbare Option in der Batch bleiben...

[Edit]

Gruesse, wobleibtdiezeit
Bitte warten ..
Mitglied: Seltermann
11.08.2007 um 10:26 Uhr
Hi wobleibtdiezeit,

Hier ist mal ein Link zum Thema Umlaute.

Die deutschen Umlaute sind generell schon immer ein Thema für sich gewesen. Ich hatte selber schon einiges hin und her mit der Datenbank in der Firma.

Schreib mal dann zurück ob du das Problem gelöst bekommen hast.
Kann mich erst am Montag damit weiter beschäftigen.

Also bis dann
Bitte warten ..
Mitglied: 45753
11.08.2007 um 10:28 Uhr
Hallo Seltermann.

Hier die Lösung...

Bei der 3. Ausgabe (separate Textdatei fuer Ordner + separate Textdatei fuer Datein) machte ich den Fehler und stellte chcp auf 1252. Man muss ihn auf 850 belassen. Zudem wandert mein erster %umlautfix%...

set "umlautfix=%umlautfix:ä=aeþþþ%
set "umlautfix=%umlautfix:ö=oeþþþ%
set "umlautfix=%umlautfix:ü=ueþþþ%
set "umlautfix=%umlautfix:ß=sþþþ%

...in den Muell. Mit anderen Worten man gibt den Text einfach aus ohne irgend eine weitere Einstellung/Veraenderung.

Nun sortiert man die zwei Textdateien mit sort und ohne Gebietsschema "C".

Beim separaten wiedereinlesen der zwei Textdateien stellt man vorher chcp auf 1252.
In der For-Schleife laest man nun folgenden %umlautfix% über jede textzeile drüberlaufen...

set "umlautfix=%umlautfix:Ž=Ä%
set "umlautfix=%umlautfix:™=Ö%
set "umlautfix=%umlautfix:š=Ü%
set "umlautfix=%umlautfix:„=ä%
set "umlautfix=%umlautfix:”=ö%
set "umlautfix=%umlautfix:=ü%
set "umlautfix=%umlautfix:á=ß%

...und gibt die gewandelten Zeilen in eine neue Textdatei wieder aus.

Und nun stimmt die Sortierung von vorne bis hinten.

Ohne Deinen Link waere ich auf die Idee allerdings nicht gekommen - THX a lot!

...wenn man eine Textdatei in der sich umlaute befinden sortieren moechte, dann muss man beim Einlesen dieser zuerst dem %Umlautfix% in entgegengesetzte Richtung durchfuehren - also - set "umlautfix=%umlautfix:Ä=Ž% - usw. und dies in eine Textdatei ausgeben. Dann diese mit sort sortieren. Nun diese wieder einlesen und den Fix - set "umlautfix=%umlautfix:Ž=Ä% - usw. drüberbügeln und in eine Textdatei ausgeben.

[Edit]

Ich sehe gerade, dass das Zeichen fuer ü nicht angezeigt wird. In der ersten Textausgabe ohne irgend eine Einstellung wirst du es aber selber sehen koennen...

[Edit]

Gruesse, wobleibtdiezeit
Bitte warten ..
Mitglied: Seltermann
13.08.2007 um 15:48 Uhr
Klasse!!! Werde das mal morgen probieren. Hab nämlich gerade noch anderweitig zu tun.

Gruß Seltermann
Bitte warten ..
Ähnliche Inhalte
PHP
PHP - unique-array() und sort()
gelöst Frage von ThomasXYZPHP14 Kommentare

Hallo zusammen, ich bin gerade leicht am verzweifeln und finde nicht so recht die Lösung. Ich bekomme per Datenbankabfrage ...

Batch & Shell
Batch - Inhalt einer .csv der Spalte A bis Zeile unendlich von 0-9 bzw. A-Z sortieren
gelöst Frage von BlattlausOGBatch & Shell6 Kommentare

Hallo zusammen, da meine Kenntnisse in Punkto Batch-Scripting recht mager aussehen, bitte ich um Hilfe. Folgendes soll das Skript ...

Google Android
Sony Support und das Xperia Z
Erfahrungsbericht von killtecGoogle Android

Hallo, ich wollte euch mal mitteilen, wie toll doch der Sony Mobile / Xperia Care Support ist Alles fing ...

Windows Server
SDELETE -z auf Produktiv-Server
gelöst Frage von emeriksWindows Server14 Kommentare

Hi, muss man Bedenken haben, wenn man SDELETE mit Option -z auf einem produktiven Server einsetzt? Laut Beschreibung (und ...

Neue Wissensbeiträge
Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 30 MinutenSicherheit1 Kommentar

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Sicherheit

Meltdown und Spectre: Die machen uns alle was vor

Information von Frank vor 55 MinutenSicherheit9 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Microsoft

Update KB4073578 für AMD CPU (Spectre und Meltdown Lücke)

Information von sabines vor 7 StundenMicrosoft

Wegen Problemen (BOSD, nicht startende PCs) wurde das Update KB4056897 und KB4056894 für AMD CPUs zurückgezogen. Dieses Update KB4073578 ...

Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 20 StundenMac OS X4 Kommentare

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser erreichbar sind. Leider fehlt ...

Heiß diskutierte Inhalte
Batch & Shell
Anmeldevorgang für Informatikraum (Schule) unter Windows
gelöst Frage von IngenieursBatch & Shell27 Kommentare

Hey zusammen, ich werde in naher Zukunft den Informatik Raum meiner jetzigen Schule von dem aktuellen Betreiber übernehmen (Vertrag ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von 92943Windows 1025 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
Frage von Windows10GegnerNetzwerkgrundlagen18 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...