Moin, * Elmar W. Tischhauser wrote (2004-02-01 16:05): >On 01 Feb 2004 at 15:01 +0100, Thorsten Haude wrote: >> * Elmar W. Tischhauser wrote (2004-02-01 14:43): >> >Wie Andreas dir schon erklärt hat, wird da nichts "gemischt", sondern >> >lediglich das ganz normale Globbing verwendet. Siehe dazu zum Beispiel >> >auch 'man bash', Stichwort "Pattern Matching". > >> Siehe dazu auch Posix, wo das für Fileglobbing ausdrücklich >> ausgenommen ist. Diese Art der Zeichenklassen ist regexisch. > >Wenn du damit meinst, dass glob(7) nur [!abc], aber nicht [^abc] >spezifiziert, hast du Recht. Davon spreche ich die ganze Zeit: Das Mischen von Regexen und Globs. >Allerdings reden wir hier (der OP wollte ja Dateien löschen) von >konkretem Pattern Matching in konkreten Shells Das wichtige ist da glaube ich 'rübergekommen: Immer schön vorsichtig sein, wenn man rm mit irgendwelchen Patterns mischt! >die bash akzeptiert explizit beide Formen: ...und unterstützt damit etwas, was laut Posix ausdrücklich undefiniert ist. Das muß mir nicht gefallen. (Meine Zsh auch. Ich werd's mal in der Mailingliste ansprechen.) >Wenn ich mich richtig erinnere, fordert die (t)csh sogar die Verwendung >von ^, für eine reine Bourne-Shell dürfte wiederum ! das Richtige sein. Whatever. Posix sollte man nicht so einfach ignorieren. >Welche Muster der OP also einsetzen kann, hängt von der von ihm >verwendeten Shell ab. Und bei einer bash kann man [^.] durchaus >verwenden, ohne sich undefiniertes Verhalten einzufangen. Man hat also bei der Benutzung von negativen Zeichenklassen die Wahl: Entweder es ist im Widerspruch zu Posix ein definierter Teil von Fileglobs oder man ignoriert Posix und mischt Globs und Regexe. Welches von beiden trifft zu? Thorsten -- Guns don't protect freedom, people protect freedom.
Attachment:
pgpT0jTS40yLA.pgp
Description: PGP signature