Page 1 of 1

GREP Frage

Posted: 02. Sep 2005 20:41
by rbtux
Hallo users

ich möchte gerne cat /etc/passwd mit grep pipen.

ein Zeile in /etc/passwd:

admin:x:1001:50:....

ich möchte jetzt nach admin:x und nach der Gruppe pipen (im Bsp die :50:)

mit wildcards würde dass dann so aussehen:

cat /etc/passwd | grep admin:x:*:50:*

nur mit wildcards funktioniert das ja nich. Ich müsste irgendeinen regulären Ausdrück dafür haben!

Kenn sich jemand aus damint

wäre für die Hilfe sehr dankbar

Posted: 03. Sep 2005 9:39
by Alex.MH
Hi,

grep -E '^admin:x:[0-9]+:50:' /etc/passwd


Aber ein

grep -e '^admin' /etc/passwd

sollte doch reichen, schliesslich hast du doch bestimmt nur einen user namens "admin" in deiner passwd.

Gruss,
Alex

Posted: 03. Sep 2005 9:56
by jochen
Oder man schreibt es so:

Code: Select all

grep '^admin:[^:]*:[^:]*:50:' /etc/passwd
  • Dabei verankert "^" den Regulären Ausdruck (RA) am Zeilenanfang.
  • "admin:" steht für sich selbst.
  • "[^:]*" steht für "beliebig viele (*) Zeichen, die alles außer Doppelpunkt sein dürfen ([^:])".
  • Der Doppelpunkt danach steht wieder für sich selbst, so dass die Kombination "[^:]*:" die zweite Spalte inkl. folgendem Trennzeichen in der /etc&passwd abdeckt - ganz egal, wie deren Inhalt aussieht.
  • Die gleiche Kombination ein zweites Mal deckt die dritte Spalte plus TZrennzeichen ab, Auch hier ist der Inhalt egal.
  • Die letzte "50:" steht wieder für sich selbst.
@Alex.MH:
schliesslich hast du doch bestimmt nur einen user namens "admin" in deiner passwd.
Wie heisst es so schön? "Man hat schon Pferde vor der Apotheke kotzen sehen..." :) Beispielsweise wäre ohne weiteres ein zusätzlicher User mit Namen "administrator" (für Win-Geschädigte;-) ) denkbar - da greift Dein "grep '^admin'" aber auch...

Jochen

Posted: 08. Sep 2005 21:20
by rbtux
ich bin zurzeit sehr beschäftigt!

bin noch nicht dazu gekommen eure verschläge auszuprobieren.

Aber dennoch ganz herzlichen Dank für die schnellen Antworten