コマンドを使用してUNIXで一意の名前を印刷する方法

コマンドを使用してUNIXで一意の名前を印刷する方法

/etc/passwd ファイルから 1 つの名前だけを印刷する方法を教えてください。たとえば、「avi」と「avig」という 2 つのエントリがある場合、「avi」だけを印刷するにはどうすればよいでしょうか。cut、unique コマンドを試しましたが、適切な出力が得られません。

答え1

検索する文字列をアンカーする必要があります。 を試してくださいegrep '^avi:' /etc/passwd

答え2

特定のユーザーのエントリだけを取得したい場合は、次のようなコマンドpasswdを使用します。getent

getent passwd avi

それ以外の場合は、正規表現/パターンが必要なものだけに一致するように十分に具体的であることを確認する必要があります。

もしあなたがgrepそれをサポートしているならgrep、次のようにパターンを単語全体として一致させるように指示することができます。

grep -w ^avi /etc/passwd

GNUおよびBSD grepで動作します

関連情報