Bug? Unix Gross-/Kleinschreibung in Suche ignoriert
Moderators: Hacker, Stefan2, white
Bug? Unix Gross-/Kleinschreibung in Suche ignoriert
Leider hat eine Suche im Forum nichts erbracht, darum hoffe ich, das Thema wurde nicht schon hundert mal durchgekaut.
Mir ist heute aufgefallen, dass wenn ich Dateien markieren will und die Wildcards dafuer aendere (Plus am Num-Block), die Gross-/Kleinschreibung der Files ignoriert wird wenn ich per FTP auf einen Linux Rechner zugreife.
Ist das ein Bug oder Feature, sprich: das geht nicht anders?
Wollte naemlich ein paar (ok, viele) Logfiles von Dateien loeschen, und haette fast die wichtigen Dateien mitgeloescht, die sich im Wildcard nur durch die Gross-/Kleinschreibung unterschieden haben. Zum Glueck kontrollierte ich nochmal schnell die marktieren Dateien. :-/
Mir ist heute aufgefallen, dass wenn ich Dateien markieren will und die Wildcards dafuer aendere (Plus am Num-Block), die Gross-/Kleinschreibung der Files ignoriert wird wenn ich per FTP auf einen Linux Rechner zugreife.
Ist das ein Bug oder Feature, sprich: das geht nicht anders?
Wollte naemlich ein paar (ok, viele) Logfiles von Dateien loeschen, und haette fast die wichtigen Dateien mitgeloescht, die sich im Wildcard nur durch die Gross-/Kleinschreibung unterschieden haben. Zum Glueck kontrollierte ich nochmal schnell die marktieren Dateien. :-/
Die Entwicklung ist eine Person: Ch. Ghisler. Der liest hier zwar regelmaäßig mit, aber man sollte ihm schon ein paar Tage (mehr) Zeit lassen.
Bezüglich der Groß- Kleinschreibung: Das ist ein 'Feature' von Windows. M$ hat es bislang nicht geschafft, zwischen den Schreibungen zu unterscheiden. Es ist z.B. nicht möglich, in einem Verzeichnis die Dateien BILD.JPG und bild.jpg anzulegen, da sie für Windows den gleichen Namen haben.
Sonderbar wirds dann, wenn man z.B. den Namen eines Registry Schlüssels ändern möchte: Umbenennen von 'default' nach 'Default' ist nicht möglich. Man muss stattdessen in zwei Schritten nach 'defaulte' und dann nach 'Default' umbenennen.
Du kannst aber bei der Auswahl eine regulären Ausdruck verwenden, der alle Dateien auswählt, die mit einem Großbuchstaben beginnen:
< leitet einen regulären Ausdruck ein.
(?-i) lässt Groß- Kleinschreibung beachten.
([A-Z]) sucht nach Großbuchstaben von A bis Z.
Für weitere Infos einfach mal in die Hilfe zu den Regulären Ausdrücken nachsehen.
sheepdog
Bezüglich der Groß- Kleinschreibung: Das ist ein 'Feature' von Windows. M$ hat es bislang nicht geschafft, zwischen den Schreibungen zu unterscheiden. Es ist z.B. nicht möglich, in einem Verzeichnis die Dateien BILD.JPG und bild.jpg anzulegen, da sie für Windows den gleichen Namen haben.
Sonderbar wirds dann, wenn man z.B. den Namen eines Registry Schlüssels ändern möchte: Umbenennen von 'default' nach 'Default' ist nicht möglich. Man muss stattdessen in zwei Schritten nach 'defaulte' und dann nach 'Default' umbenennen.
Du kannst aber bei der Auswahl eine regulären Ausdruck verwenden, der alle Dateien auswählt, die mit einem Großbuchstaben beginnen:
Code: Select all
<(?-i)([A-Z])
< leitet einen regulären Ausdruck ein.
(?-i) lässt Groß- Kleinschreibung beachten.
([A-Z]) sucht nach Großbuchstaben von A bis Z.
Für weitere Infos einfach mal in die Hilfe zu den Regulären Ausdrücken nachsehen.
sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
Hallo, danke fuer deine Antwort.
Ich bin mir aber nicht sicher ob wir vom selben Thema reden.
Es geht mir naemlich nicht um Windows, sondern UNIX/LINUX, wenn ich darauf per FTP zugreife. Wenn ich dann verbunden bin und die Dateiliste sehe, kann ich z.B. per Num-Plus Dateien markieren. Wenn ich dann hier alle DRUCK.* haben will, bekomm ich auch alle druck.* :-/ (was die Funktionalitaet von FTP fuer mich natuerlich auf ein absolutes Minimum reduziert und ich fuer so simple Sachen wie mehere Dateien auf einmal loeschen erst wieder ein seperates FTP oder Terminal Programm verwenden muss, obwohl ich ja einen Dateimanager habe von dem ich zumindest diese Funktionalitaet erwartet haette - aber vielleicht mach ja ich irgendwo was falsch...)
Was das nun mit Windows Gross-/Kleinschreibung zu tun hat, ist mir nicht ganz klar. (oder ist dieser "Suchdialog" eine windowsspezifische Funktion ohne Erkennung ob etwas gross oder klein geschrieben ist?)
Ich bin mir aber nicht sicher ob wir vom selben Thema reden.
Es geht mir naemlich nicht um Windows, sondern UNIX/LINUX, wenn ich darauf per FTP zugreife. Wenn ich dann verbunden bin und die Dateiliste sehe, kann ich z.B. per Num-Plus Dateien markieren. Wenn ich dann hier alle DRUCK.* haben will, bekomm ich auch alle druck.* :-/ (was die Funktionalitaet von FTP fuer mich natuerlich auf ein absolutes Minimum reduziert und ich fuer so simple Sachen wie mehere Dateien auf einmal loeschen erst wieder ein seperates FTP oder Terminal Programm verwenden muss, obwohl ich ja einen Dateimanager habe von dem ich zumindest diese Funktionalitaet erwartet haette - aber vielleicht mach ja ich irgendwo was falsch...)
Was das nun mit Windows Gross-/Kleinschreibung zu tun hat, ist mir nicht ganz klar. (oder ist dieser "Suchdialog" eine windowsspezifische Funktion ohne Erkennung ob etwas gross oder klein geschrieben ist?)
- sqa_wizard
- Power Member
- Posts: 3893
- Joined: 2003-02-06, 11:41 UTC
- Location: Germany
Du kanst die RegEx auch beim Markieren benutzen:
Num-Plus drücken und dann
^ bedeutet: beginnt am Anfang
Num-Plus drücken und dann
Code: Select all
<(?-i)^DRUCK
#5767 Personal license
Der Zusammenhang ist einfach der, dass der TC ein Windows Programm ist, das normalerweise nicht unterscheiden muss, ob gross oder klein, da dies ja auf Windows-Rechnern eh irrelevant ist.syntech wrote:Was das nun mit Windows Gross-/Kleinschreibung zu tun hat, ist mir nicht ganz klar. (oder ist dieser "Suchdialog" eine windowsspezifische Funktion ohne Erkennung ob etwas gross oder klein geschrieben ist?)
Es würde nun bedeuten, dass für FTP alle Funktionen, die Dateioperationen betreffen, neu geschrieben und eingebunden werden müssten, um diese Funktionalität bereitzustellen.
Insofern wäre das ein ziemlicher Aufwand, der sich m.E. nicht wirklich lohnt, zumal ja mit den RegEx genau Dein Problem gelöst werden kann.
Ich benutze übrigens auf meinem FTP-Server nur Kleingeschriebene Dateinamen, habe die entsprechende Option ("Wandle Dateinamen in Kleinbuchstaben um") ausgewählt, und habe so auch keine Probleme, die Verzeichnisse remote und lokal zu synchronisieren. (ich sehe aber, dass dies nicht in jedem Fall sinvoll und wünschenswert ist.)
sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
Danke fuer die Beispiele. Das funktioniert so.
Aber wie schauts da mit einer 'einfachen' Loesung ohne RegEx aus wo einfach nach dem gegangen wird was man wie im Suchfeld eingibt?
Kann man damit rechnen?
Weil, ich mein, RegEx gut und schoen (und extrem kompliziert wie ich finde, hab mir das mal kurz angeschaut), aber ohne waers noch schoener und vor allem einfacher und intuitiver.
Aber wie schauts da mit einer 'einfachen' Loesung ohne RegEx aus wo einfach nach dem gegangen wird was man wie im Suchfeld eingibt?
Kann man damit rechnen?
Weil, ich mein, RegEx gut und schoen (und extrem kompliziert wie ich finde, hab mir das mal kurz angeschaut), aber ohne waers noch schoener und vor allem einfacher und intuitiver.
Würde ich nicht unbedingt mit rechnen, da das wie gesagt ein umprogrammieren bzw. neu programmieren aller Funktionen mit Dateioperationen nötig machen würde.syntech wrote:Aber wie schauts da mit einer 'einfachen' Loesung ohne RegEx aus wo einfach nach dem gegangen wird was man wie im Suchfeld eingibt?
Aber letztlich müssen wir da wohl wirklich auf ein Statement vom Autor warten.

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
- ghisler(Author)
- Site Admin
- Posts: 50561
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Tut mir leid, eine solche separate Markierfunktion ist z.Zt. nicht geplant. Total Commander ist vor allem für Windows-User gedacht, welche ihre Server z.B. als Web- oder Fileserver zusammen mit Windows verwenden. In diesem Umfeld werden gleichnamige Dateien soweit wie möglich vermieden.
Leider lässt sich auch nicht feststellen, ob ein Webserver nun Gross/Klein unterscheidet oder nicht - viele Windows-Server melden sich z.B. als Unix, weil sie die Unix-Dateilistings verwenden.
Leider lässt sich auch nicht feststellen, ob ein Webserver nun Gross/Klein unterscheidet oder nicht - viele Windows-Server melden sich z.B. als Unix, weil sie die Unix-Dateilistings verwenden.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Hallo, danke fuer die Antwort. Schade dass das nicht geplant ist.ghisler(Author) wrote:Tut mir leid, eine solche separate Markierfunktion ist z.Zt. nicht geplant. Total Commander ist vor allem für Windows-User gedacht, welche ihre Server z.B. als Web- oder Fileserver zusammen mit Windows verwenden. In diesem Umfeld werden gleichnamige Dateien soweit wie möglich vermieden.
Leider lässt sich auch nicht feststellen, ob ein Webserver nun Gross/Klein unterscheidet oder nicht - viele Windows-Server melden sich z.B. als Unix, weil sie die Unix-Dateilistings verwenden.
Mein Gedankengang in der Hinsicht ist der, dass im Prinzip ein Stringvergleich reichen sollte (Dateiliste<->Suchmaske). Dann waere egal woher die Daten kommen (Windows/Unix) und in der Such-/Maskiermaske koennte ja eine neue Option "Gross-/Kleinschreibung beachten" verwendet werden, ob ich generell so suchen will, oder halt wie bisher.
Falls das Problem in den lowlevel (?) Fileoperationen liegt, wuerde es (fuer meine Zwecke) reichen wenn diese Funktionalitaet nur im Markiermodus vorhanden waere (Num-Plus) wo ja die Dateiliste schon befuellt ist und mMn unabhaengig vom Betriebssystem wie oben gedacht verarbeitet werden koennte.
Und wenn sich ein Windows Server als Unix 'tarnt', gibts eh kein DRUCK.TMP und gleichzeitig druck.tmp auf dem System.
Dass das im Detail betrachtet vielleicht nicht so trivial ist, ist mir schon klar. Aber oberflaechlich betrachtet sollte das dahinterliegende OS egal sein, wenn nach dem gegangen wird, was in der Dateiliste angezeigt wird und was ich in der Suchmaske eingegeben habe.
Das sollte lediglich ein kurz formulierter sachlicher Gedanke meinerseits zum Thema sein. Inwieweit das realisierbar ist (Zeit, Lust, Aufwand) weiss ich nicht, hoffe aber dass im Zuge der Weiterentwicklung des Programms auch derartige Vorschlaege einen Platz haben, vor allem da ich finde, dass dieser Vorschlag gar nicht so abwegig ist wenn man bedenkt, dass TC primaer ja fuer Fileoperationen eingesetzt wird (und natuerlich auch, weil ich diese Funktionalitaet sehr gut gebrauchen koennte

PS: und nein, ich habe keine Moeglichkeit Einfluss darauf zu nehmen in welcher schreibweise Files auf den betroffenen Unices abgelegt werden. :-/
PPS: das mit den RegEx ist schon ein ziemlicher Krampf. Irgendwie geht mir da der Knopf nicht auf!

Aber das geht doch schon mit den regulären Ausdrückten: Du mußt doch, wie bereits erwähnt, nur einsyntech wrote:ghisler(Author) wrote:Falls das Problem in den lowlevel (?) Fileoperationen liegt, wuerde es (fuer meine Zwecke) reichen wenn diese Funktionalitaet nur im Markiermodus vorhanden waere (Num-Plus) wo ja die Dateiliste schon befuellt ist und mMn unabhaengig vom Betriebssystem wie oben gedacht verarbeitet werden koennte.
Code: Select all
<(?-i)

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
Und warum liefert mir dann <(?-i)GP*LOG* nichts obwohl da viele GP*LOG* Files rumliegen?Aber das geht doch schon mit den regulären Ausdrückten: Du mußt doch, wie bereits erwähnt, nur einvoranstellen, das lässt dann den TC die Gross- Kleinschreibung beachten..Code: Select all
<(?-i)
sheepdog

Ich vermute mal, weil dann nur RegEx geht und es geht mir ja genau darum das auch ohne hinzubekommen (dachte das ging aus meinen bisherigen Postings eindeutig hervor).
Sagt dir "Warum einfach, wenns auch kompliziert geht" etwas?

syntech wrote:Und warum liefert mir dann <(?-i)GP*LOG* nichts obwohl da viele GP*LOG* Files rumliegen?
Bei den RegEx ist der Joker nicht "*" sondern "." und der Stern heisst, das Zeichen kommt nicht oder mehrmals vor.
In Deinem Beispiel hieße das dann <(?-i)GP.*LOG.*
Ich gebe zu, dass man sich etwas umgewöhnen muss, aber ich finde, das ist nicht so schwer, oder ?
[edit]
Man wird ja spätestens dran erinnert, wenn der TC nichts findet.

[/edit]
sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
Danke, das klappt bei dem Fall so. (habs mir auch gespeichert, wer weiss wie lang ich mir das merke
)
Aber als jemand der nicht in RegEx denkt ist das ganze ziemlich unintuitiv.
Das ist was ich so schade finde, weil TC an sonsten ein sehr einfach und intuitiv bedienbares Programm ist (fuer meine sonstigen Anwendungsfaelle).

Aber als jemand der nicht in RegEx denkt ist das ganze ziemlich unintuitiv.
Das ist was ich so schade finde, weil TC an sonsten ein sehr einfach und intuitiv bedienbares Programm ist (fuer meine sonstigen Anwendungsfaelle).
-
- Senior Member
- Posts: 415
- Joined: 2005-05-24, 10:41 UTC
- Location: Wien
Ich bin sonst wirklich kein M$ Fan, und ich bin heilfroh, daß es jetzt Linux als ernsthafte Alternative gibt. Aber die Behandlung der Groß/Kleinschreibung der Dateinamen unter Linux ist in meinen Augen wirklich ein Krampf und unsäglich mühsam - die Linux Entwickler haben Glück, früher sind Leute für weit weniger schlimme Dinge aufgehängt oder geköpft worden 
