Isolieren der Zeile in /etc/passwd, die "string" enthält, mit grep

Isolieren der Zeile in /etc/passwd, die "string" enthält, mit grep

Ich habe eine Liste von „Aufgaben“, die ich durchgehe, um den Shell-Code zu lernen. Ich muss grep verwenden, um die Zeile zu isolieren, /etc/passwddie „ “ enthält ubu. Ich weiß, dass der Befehl less /etc/passwdzum Zugriff verwendet wird /etc/passwdund dass greper zum Suchen nach einem bestimmten Zeichenfolgenmuster verwendet wird, aber das war es auch schon .

Antwort1

Mit grep:

$ grep -F "ubu" /etc/passwd

Dies wird verwendet grep -F, um nach der wörtlichen Zeichenfolge ubuin der Datei zu suchen /etc/passwd. Ohne das -Fwürde es als regulärer Ausdruck grepbehandelt . In diesem Fall würde es keinen Unterschied machen, aber wenn die Zeichenfolge Zeichen wie das enthält , das in regulären Ausdrücken „speziell“ ist, können Sie sie auf diese Weise „weniger speziell“ machen.ubu*

grepgibt alle Zeilen zurück, die die Übereinstimmung enthalten.

Wenn ubues sich um einen Benutzernamen handelt (einvollständigBenutzername, nicht nur ein Teil davon), dann führt das Folgende zusätzlich eine Suche in allen Verzeichnisdiensten (wie LDAP oder NIS/YP) durch, die das System möglicherweise verwendet:

$ getent passwd ubu

Antwort2

Sie sollten wahrscheinlich mit einem Tutorial beginnen, um die Grundlagen zu erlernen.

Wenn Sie einfach suchengrepManpage von, hätten Sie es ganz leicht herausfinden können.

Das können Sie grundsätzlich tun grep "ubu" /etc/passwd.

verwandte Informationen