Hallo!

On 01 Feb 2004 at 15:01 +0100, Thorsten Haude wrote:

> * Elmar W. Tischhauser wrote (2004-02-01 14:43):
> >On 01 Feb 2004 at 01:48 +0100, Thorsten Haude wrote:
> >> * Andreas Metzler wrote (2004-02-01 00:32):
> >> >Thorsten Haude <[EMAIL PROTECTED]> wrote:
> >> >> * Elmar W. Tischhauser wrote (2004-01-31 12:56):
> >> >
> >> >>>'.[^.]*' ist pr�ziser und damit weniger gef�hrlich.
> >> >
> >> >> Ich wei� nicht. Ich bin �berrascht, das die Shell �berhaupt Regexe
> >> >> kann, wenn man die mit Fileglobs mischt, kann es sicher schnell
> >> >> sportlich werden.
> >> >
> >> >Das ist keine regex sondern Globbing, eben "Punkt, ein nicht-Punkt,
> >> >beliebig viele (0 oder mehr) beliebige Zeichen" und nicht "beliebiges
> >> >Zeichen, nicht-Punkt beliebig oft (0 oder mehr)".
> >
> >> Nee, das ist schon eine Zeichenklasse wie man sie aus Regexen kennt,
> >> also wird gemischt, also schlecht.
> >
> >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. 

Allerdings reden wir hier (der OP wollte ja Dateien l�schen) von
konkretem Pattern Matching in konkreten Shells; die bash akzeptiert
explizit beide Formen:

,-----[ man bash, EXPANSION, Pattern Matching ]
| If  the  first character following the [ is a !  or a ^ then any
| character not enclosed is matched.
`----------------------------------------------

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.

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.

> Ich benutze solche Muster f�r rm nicht, ohne sie vorher mit einem ls
> zu testen.

Oder mit echo, genau. Ich bin da auch gerne vorsichtig. Vor allem, wenn
man das Muster in ein Skript �bernimmt und sich dann sp�ter blind darauf
verl�sst :-)

Gru�,
Elmar

-- 
[ GnuPG: D8A88C0D / 2407 063C 1C92 90E9 4766 B170 5E95 0D7F D8A8 8C0D ]
�����������������������������������������������������������������������
  Sicher ist, dass nichts sicher ist. Selbst das nicht. -- Ringelnatz

Attachment: pgp00000.pgp
Description: PGP signature

Antwort per Email an