[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Grep und regex



Am Freitag, 7. November 2003 10:44 schrieb Andreas Metzler:
> Andreas Schmidt <andy@space.wh1.tu-dresden.de> wrote:
> > "man grep" sagt, dass es bei extended regular expressions
> > vordefinierte
> >
> > Klassen von Zeichen gibt:
> >> Finally,  certain  named  classes of characters are predefined
> >> within bracket expressions, as follows.  Their names are self
> >> explanatory, and they are [:alnum:], [:alpha:], [:cntrl:], 
> >> [:digit:], [:graph:], [:lower:],  [:print:],  [:punct:],
> >> [:space:], [:upper:], and [:xdigit:].
> >
> > Da das alles ja so schoen self explanatory sein sollte, habe ich
> > aus meiner urspruenglichen zeile folgendes gemacht:
> >
> >        ps ax | grep -E "^[:space:]*$PROC"
> >
> > Leider funktioniert das nicht. In diesem Fall hat zwar letztlich
>
> [...]
>
> "For  example, [[:alnum:]]  means  [0-9A-Za-z],"
>
> Beachte [[]]. Der ganze Absatz beschaeftigt sich damit, was fuer
> Zeichen *innerhalb* von [...] zulaessig sind, eben einzelne Zeichen,
> Bereiche A-Z und Klassen [:space:].

Ich will nur noch ergänzen, dass der Ausdruck
ps ax | grep -E "^[[:space:]]*$PROC"
als auch 
ps ax | grep -E "^[ ]*$PROC"
nicht zwingend eindeutig ist:

jan@pennywise:~$ PID=4
jan@pennywise:~$ ps ax | grep -E "^[[:space:]]*$PID"
    4 ?        SW     0:00 [kswapd]
  401 tty1     S      0:00 /sbin/getty 38400 tty1
  402 tty2     S      0:00 /sbin/getty 38400 tty2
  403 tty3     S      0:00 /sbin/getty 38400 tty3
  404 tty4     S      0:00 /sbin/getty 38400 tty4
  405 tty5     S      0:00 /sbin/getty 38400 tty5
  406 tty6     S      0:00 /sbin/getty 38400 tty6
  407 ?        S      0:00 /usr/sbin/apache
  408 ?        S      0:00 /usr/sbin/apache
  409 ?        S      0:00 /usr/sbin/apache
  410 ?        S      0:00 /usr/sbin/apache
  411 ?        S      0:00 /usr/sbin/apache

Besser ist es, auch nach der PID auf space zu prüfen:
jan@pennywise:~$ ps ax | grep -E "^[[:space:]]*$PID[[:space:]]"
    4 ?        SW     0:00 [kswapd]

Jan



Reply to: