So drucken Sie mit einem Befehl einen eindeutigen Namen in UNIX

So drucken Sie mit einem Befehl einen eindeutigen Namen in UNIX

Ich möchte Hilfe, um nur einen Namen aus meiner Datei /etc/passwd auszudrucken. Wenn es beispielsweise zwei Einträge mit den Namen „avi“ und „avig“ gibt, wie soll ich dann nur „avi“ drucken? Ich habe die Befehle „cut“ und „unique“ ausprobiert, bekomme aber keine richtige Ausgabe.

Antwort1

Sie müssen die gesuchte Zeichenfolge verankern. Versuchen Sie es mit egrep '^avi:' /etc/passwd.

Antwort2

Wenn Sie nur den Eintrag für einen bestimmten Benutzer aus Ihrem abrufen möchten, passwdverwenden Sie einfach den getentBefehl wie

getent passwd avi

Andernfalls müssen Sie nur sicherstellen, dass Ihr regulärer Ausdruck/Muster spezifisch genug ist, um nur das zu erfüllen, was Sie möchten.

Wenn Ihr grepSystem dies unterstützt, können Sie angeben, grepdass Ihr Muster nur als ganzes Wort abgeglichen werden soll, z. B.

grep -w ^avi /etc/passwd

funktioniert mit GNU und BSD greps

verwandte Informationen