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
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
*: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
[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