Re: OT: bash - pattern matching
Am Dienstag, 30. November 2004 22:49 schrieb Rüdiger Noack:
> Jan Trippler schrieb:
> > Am Dienstag, 30. November 2004 18:58 schrieb Rüdiger Noack:
> >>>>Mein Vorhaben scheint ziemlich simpel: Ich will alle
> >>>> Dateinamen treffen, die mit einen bestimmten String
> >>>> beginnen treffen, die aber zusätzlich noch einen
> >>>> vorangestellten '.' haben können, also z.B. foo* und .foo*.
> >
> > Geht IMHO mit Shell-Pattern nicht. Wenn Du unbedingt _ein_
> > Suchmuster haben willst (warum eigentlich?)
>
> Wat mut dat mut ;-)
Hm, komische Begründung - ich fragte eher nach sachlichen Gründen.
> > dann musst Du regex
> > bemühen, z. B. so:
> > jan@jack:~/tmp/t> touch foobar .foo
> > jan@jack:~/tmp/t> ls -a
> > . .. .foo foobar
> > jan@jack:~/tmp/t> ls -a | grep "^\.\?foo"
> > .foo
> > foobar
>
> Ich sehe nicht ein, dass shell pattern das nicht können sollen.
> Ganz davon abgesehen passen die REs nicht:
>
> --------------------------- snip ----------------------------
> erno@flinker:~$ ls -a | grep "\.\?foo"
[...]
jan@jack:~/tmp/t> ls -a | grep "^\.\?foo"
Siehst Du den Unterschied?
> Aber ich möchte auch nicht mit ls Namen ermitteln, dich ich an
> grep verfüttere, um sie danach wieder vielleicht wieder ls zu
> übergeben...
Ja, das war ja genau meine Frage. Wozu brauchst Du das - und wieso
muss es _ein_ Suchmuster sein?
Jan
--
Linux-Quickies: http://www.jan-trippler.de
PingoS: http://www.pingos.org
Reply to: